38 #include <gmock/gmock.h>
39 #include <gtest/gtest.h>
45 using testing::ElementsAreArray;
48 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
49 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf,
62 TEST(CircleBufTest, BasicReadWriteNoOverflow)
69 EXPECT_EQ(buf.
size(), 8);
76 EXPECT_EQ(buf.
size(), 6);
79 EXPECT_EQ(buf.
size(), 0);
83 TEST(CircleBufTest, SingleWriteOverflow)
89 EXPECT_EQ(buf.
size(), 8);
96 TEST(CircleBufTest, MultiWriteOverflow)
104 EXPECT_EQ(buf.
size(), 8);
107 EXPECT_THAT(
subArr(
foo, 6, 2), ElementsAreArray(
data + 8, 6));
111 TEST(CircleBufTest, PointerWrapAround)
122 EXPECT_EQ(buf.
size(), 8);
126 EXPECT_EQ(buf.
size(), 2);
130 EXPECT_EQ(buf.
size(), 0);
135 TEST(CircleBufTest, ProduceConsumeEmpty)
141 EXPECT_TRUE(buf.
empty());
144 EXPECT_FALSE(buf.
empty());
150 EXPECT_TRUE(buf.
empty());