#170 test buffer eof

Mon, 16 May 2022 19:25:19 +0200

author
Mike Becker <universe@uap-core.de>
date
Mon, 16 May 2022 19:25:19 +0200
changeset 548
459bca1cdf8d
parent 547
9e933920dcf9
child 549
d7f0b5a9a985

#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 +}

mercurial