added new sanity checks and compile-time assertions to prevent errors
fixed stair-building issue new test-cases added elevator support fixed/improved some walker modules
This commit is contained in:
@@ -60,6 +60,97 @@ TEST(RingBuffer, add) {
|
||||
|
||||
}
|
||||
|
||||
TEST(RingBuffer, peek) {
|
||||
|
||||
RingBuffer<int> buf(4);
|
||||
|
||||
buf.add(11);
|
||||
ASSERT_EQ(11, buf.peek(0));
|
||||
|
||||
buf.add(13);
|
||||
ASSERT_EQ(11, buf.peek(0));
|
||||
ASSERT_EQ(13, buf.peek(1));
|
||||
|
||||
buf.add(10);
|
||||
ASSERT_EQ(11, buf.peek(0));
|
||||
ASSERT_EQ(13, buf.peek(1));
|
||||
ASSERT_EQ(10, buf.peek(2));
|
||||
|
||||
buf.add(17);
|
||||
ASSERT_EQ(11, buf.peek(0));
|
||||
ASSERT_EQ(13, buf.peek(1));
|
||||
ASSERT_EQ(10, buf.peek(2));
|
||||
ASSERT_EQ(17, buf.peek(3));
|
||||
|
||||
buf.add(18);
|
||||
ASSERT_EQ(18, buf.peek(0));
|
||||
ASSERT_EQ(13, buf.peek(1));
|
||||
ASSERT_EQ(10, buf.peek(2));
|
||||
ASSERT_EQ(17, buf.peek(3));
|
||||
|
||||
buf.add(9);
|
||||
ASSERT_EQ(18, buf.peek(0));
|
||||
ASSERT_EQ( 9, buf.peek(1));
|
||||
ASSERT_EQ(10, buf.peek(2));
|
||||
ASSERT_EQ(17, buf.peek(3));
|
||||
|
||||
buf.add(88);
|
||||
ASSERT_EQ(18, buf.peek(0));
|
||||
ASSERT_EQ( 9, buf.peek(1));
|
||||
ASSERT_EQ(88, buf.peek(2));
|
||||
ASSERT_EQ(17, buf.peek(3));
|
||||
|
||||
buf.add(54);
|
||||
ASSERT_EQ(18, buf.peek(0));
|
||||
ASSERT_EQ( 9, buf.peek(1));
|
||||
ASSERT_EQ(88, buf.peek(2));
|
||||
ASSERT_EQ(54, buf.peek(3));
|
||||
|
||||
buf.add(1);
|
||||
ASSERT_EQ( 1, buf.peek(0));
|
||||
ASSERT_EQ( 9, buf.peek(1));
|
||||
ASSERT_EQ(88, buf.peek(2));
|
||||
ASSERT_EQ(54, buf.peek(3));
|
||||
|
||||
}
|
||||
|
||||
TEST(RingBuffer, contains) {
|
||||
|
||||
RingBuffer<int> buf(4);
|
||||
|
||||
ASSERT_FALSE(buf.contains(0));
|
||||
buf.add(0);
|
||||
ASSERT_TRUE(buf.contains(0));
|
||||
|
||||
ASSERT_FALSE(buf.contains(3));
|
||||
buf.add(3);
|
||||
ASSERT_TRUE(buf.contains(0));
|
||||
ASSERT_TRUE(buf.contains(3));
|
||||
|
||||
ASSERT_FALSE(buf.contains(7));
|
||||
buf.add(7);
|
||||
ASSERT_TRUE(buf.contains(0));
|
||||
ASSERT_TRUE(buf.contains(3));
|
||||
ASSERT_TRUE(buf.contains(7));
|
||||
|
||||
ASSERT_FALSE(buf.contains(8));
|
||||
buf.add(8);
|
||||
ASSERT_TRUE(buf.contains(0));
|
||||
ASSERT_TRUE(buf.contains(3));
|
||||
ASSERT_TRUE(buf.contains(7));
|
||||
ASSERT_TRUE(buf.contains(8));
|
||||
|
||||
|
||||
ASSERT_FALSE(buf.contains(11));
|
||||
buf.add(11);
|
||||
ASSERT_FALSE(buf.contains(0));
|
||||
ASSERT_TRUE(buf.contains(3));
|
||||
ASSERT_TRUE(buf.contains(7));
|
||||
ASSERT_TRUE(buf.contains(8));
|
||||
ASSERT_TRUE(buf.contains(11));
|
||||
|
||||
}
|
||||
|
||||
TEST(RingBuffer, iterator) {
|
||||
|
||||
RingBuffer<int> buf(4);
|
||||
|
||||
Reference in New Issue
Block a user