Added CircularBufferWithNestedCircularBuffer test
This commit is contained in:
parent
1805e4c7ad
commit
44bea612ff
@ -74,3 +74,44 @@ TEST_F(CircularBufferTest, FullAndEmpty) {
|
|||||||
// Try popping from an empty buffer
|
// Try popping from an empty buffer
|
||||||
EXPECT_EQ(buffer->popFront(item), ErrorCode::BUFFER_EMPTY);
|
EXPECT_EQ(buffer->popFront(item), ErrorCode::BUFFER_EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test CircularBuffer with nested CircularBuffer
|
||||||
|
TEST_F(CircularBufferTest, CircularBufferWithNestedCircularBuffer) {
|
||||||
|
CircularBuffer<CircularBuffer<char>*> charBuffer(2);
|
||||||
|
|
||||||
|
CircularBuffer<char> charSubBuffer1(3);
|
||||||
|
CircularBuffer<char> charSubBuffer2(3);
|
||||||
|
|
||||||
|
EXPECT_EQ(charSubBuffer1.pushBack('a'), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(charSubBuffer1.pushBack('b'), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(charSubBuffer1.pushBack('c'), ErrorCode::SUCCESS);
|
||||||
|
|
||||||
|
EXPECT_EQ(charSubBuffer2.pushBack('d'), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(charSubBuffer2.pushBack('e'), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(charSubBuffer2.pushBack('f'), ErrorCode::SUCCESS);
|
||||||
|
|
||||||
|
EXPECT_EQ(charBuffer.pushBack(&charSubBuffer1), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(charBuffer.pushBack(&charSubBuffer2), ErrorCode::SUCCESS);
|
||||||
|
|
||||||
|
CircularBuffer<char>* poppedCharSubBuffer;
|
||||||
|
EXPECT_EQ(charBuffer.popFront(poppedCharSubBuffer), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer, &charSubBuffer1);
|
||||||
|
|
||||||
|
char c;
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer->popFront(c), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(c, 'a');
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer->popFront(c), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(c, 'b');
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer->popFront(c), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(c, 'c');
|
||||||
|
|
||||||
|
EXPECT_EQ(charBuffer.popFront(poppedCharSubBuffer), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer, &charSubBuffer2);
|
||||||
|
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer->popFront(c), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(c, 'd');
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer->popFront(c), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(c, 'e');
|
||||||
|
EXPECT_EQ(poppedCharSubBuffer->popFront(c), ErrorCode::SUCCESS);
|
||||||
|
EXPECT_EQ(c, 'f');
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user