Mon, 16 May 2022 19:25:19 +0200
#170 test buffer eof
test/test_buffer.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/test/test_buffer.cpp Mon May 16 19:15:44 2022 +0200 1.2 +++ b/test/test_buffer.cpp Mon May 16 19:25:19 2022 +0200 1.3 @@ -31,6 +31,21 @@ 1.4 #include <gtest/gtest.h> 1.5 #include "util_allocator.h" 1.6 1.7 +class BufferFixture : public ::testing::Test { 1.8 +protected: 1.9 + void SetUp() override { 1.10 + cxBufferInit(&buf, nullptr, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); 1.11 + buf.size = 6; 1.12 + buf.pos = 3; 1.13 + } 1.14 + 1.15 + void TearDown() override { 1.16 + cxBufferDestroy(&buf); 1.17 + } 1.18 + 1.19 + CxBuffer buf{}; 1.20 +}; 1.21 + 1.22 static void expect_default_flush_config(CxBuffer *buf) { 1.23 EXPECT_EQ(buf->flush_blkmax, 0); 1.24 EXPECT_EQ(buf->flush_blksize, 4096); 1.25 @@ -580,19 +595,7 @@ 1.26 EXPECT_EQ(memcmp(target.space, "prepfoobarhello", 15), 0); 1.27 } 1.28 1.29 -class BufferSeek : public ::testing::Test { 1.30 -protected: 1.31 - void SetUp() override { 1.32 - cxBufferInit(&buf, nullptr, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); 1.33 - buf.size = 6; 1.34 - buf.pos = 3; 1.35 - } 1.36 - 1.37 - void TearDown() override { 1.38 - cxBufferDestroy(&buf); 1.39 - } 1.40 - 1.41 - CxBuffer buf{}; 1.42 +class BufferSeek : public BufferFixture { 1.43 }; 1.44 1.45 TEST_F(BufferSeek, SetZero) { 1.46 @@ -678,4 +681,24 @@ 1.47 EXPECT_NE(result, 0); 1.48 EXPECT_EQ(buf.size, 6); 1.49 EXPECT_EQ(buf.pos, 3); 1.50 -} 1.51 \ No newline at end of file 1.52 +} 1.53 + 1.54 +class BufferEof : public BufferFixture { 1.55 +}; 1.56 + 1.57 +TEST_F(BufferEof, Reached) { 1.58 + buf.pos = buf.size; 1.59 + EXPECT_TRUE(cxBufferEof(&buf)); 1.60 + buf.pos = buf.size - 1; 1.61 + ASSERT_FALSE(cxBufferEof(&buf)); 1.62 + cxBufferPut(&buf, 'a'); 1.63 + EXPECT_TRUE(cxBufferEof(&buf)); 1.64 +} 1.65 + 1.66 +TEST_F(BufferEof, NotReached) { 1.67 + buf.pos = buf.size - 1; 1.68 + EXPECT_FALSE(cxBufferEof(&buf)); 1.69 + buf.pos = 0; 1.70 + cxBufferWrite("test", 1, 5, &buf); 1.71 + EXPECT_FALSE(cxBufferEof(&buf)); 1.72 +}