Index: src/libchcore/Tests/TBufferListTests.cpp =================================================================== diff -u -N -r3ccbdb8d3eac3427e6d3354854476e57fdc7ceb9 -rbef894e38e5c1486824787cf8c47a87a0828b228 --- src/libchcore/Tests/TBufferListTests.cpp (.../TBufferListTests.cpp) (revision 3ccbdb8d3eac3427e6d3354854476e57fdc7ceb9) +++ src/libchcore/Tests/TBufferListTests.cpp (.../TBufferListTests.cpp) (revision bef894e38e5c1486824787cf8c47a87a0828b228) @@ -2,10 +2,50 @@ #include "gtest/gtest.h" #include "gmock/gmock.h" #include "../TBufferList.h" +#include "../TCoreException.h" +#include "../TOverlappedDataBuffer.h" using namespace chcore; -TEST(TBufferListTests, DefaultTest) +TEST(TBufferListTests, DefaultConstructionSanityTest) { TBufferList bufferList; + + EXPECT_EQ(0, bufferList.GetCount()); + EXPECT_EQ(true, bufferList.IsEmpty()); + EXPECT_EQ(nullptr, bufferList.Pop()); } + +TEST(TBufferListTests, PushNull) +{ + TBufferList bufferList; + + EXPECT_THROW(bufferList.Push(nullptr), TCoreException); +} + +TEST(TBufferListTests, PushBuffer) +{ + TBufferList bufferList; + + TOverlappedDataBuffer rBuffer(4096, nullptr); + + bufferList.Push(&rBuffer); + + EXPECT_EQ(1, bufferList.GetCount()); + EXPECT_EQ(false, bufferList.IsEmpty()); + EXPECT_EQ(&rBuffer, bufferList.Pop()); +} + +TEST(TBufferListTests, Clear) +{ + TBufferList bufferList; + + TOverlappedDataBuffer rBuffer(4096, nullptr); + + bufferList.Push(&rBuffer); + bufferList.Clear(); + + EXPECT_EQ(0, bufferList.GetCount()); + EXPECT_EQ(true, bufferList.IsEmpty()); + EXPECT_EQ(nullptr, bufferList.Pop()); +}