Skip to content

Commit 072ee9c

Browse files
committed
refactor tests
1 parent 1234e46 commit 072ee9c

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

test_main.cpp

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#include <gtest/gtest.h>
2+
#include "RingBuffer.hpp"
3+
using namespace buffers;
4+
5+
TEST(RingBufferTest, Test1) {
6+
ring_buffer<std::vector<int>, 3> b1;
7+
8+
for(auto i = 0; i < 9; ++i){
9+
b1.push_back(std::vector<int>{i, i + 1, i + 2});
10+
}
11+
12+
auto b2 = b1;
13+
14+
ring_buffer<std::vector<int>, 3> b3;
15+
b3 = b2;
16+
b3.pop_front();
17+
18+
std::vector<std::vector<int>> expected = {{7, 8, 9}, {8, 9, 10}};
19+
auto it = b3.cbegin();
20+
for (const auto& vec : expected) {
21+
EXPECT_EQ(*it, vec);
22+
++it;
23+
}
24+
}
25+
26+
TEST(RingBufferTest, Test2) {
27+
ring_buffer<int, 3> b1;
28+
for(int i = 0; i < 10; i++){
29+
b1.push_back(i);
30+
EXPECT_EQ(b1.front(), std::max(0, i - 2));
31+
}
32+
}
33+
34+
TEST(RingBufferTest, Test3) {
35+
ring_buffer<int, 3> b1;
36+
b1.push_back(1);
37+
b1.push_back(2);
38+
b1.push_back(3);
39+
b1.push_back(4); // This should overwrite the first element (1)
40+
41+
EXPECT_EQ(b1.front(), 2);
42+
EXPECT_EQ(b1.back(), 4);
43+
}
44+
45+
TEST(RingBufferTest, Test4) {
46+
ring_buffer<int, 3> b1;
47+
b1.push_back(1);
48+
b1.push_back(2);
49+
b1.push_back(3);
50+
b1.pop_front(); // Remove the first element (1)
51+
b1.push_back(4);
52+
53+
EXPECT_EQ(b1.front(), 2);
54+
EXPECT_EQ(b1.back(), 4);
55+
}
56+
57+
TEST(RingBufferTest, Test5) {
58+
ring_buffer<int, 3> b1;
59+
b1.push_back(1);
60+
b1.push_back(2);
61+
b1.push_back(3);
62+
b1.clear();
63+
64+
EXPECT_TRUE(b1.empty());
65+
EXPECT_EQ(b1.size(), 0);
66+
}
67+
68+
int main(int argc, char **argv) {
69+
::testing::InitGoogleTest(&argc, argv);
70+
return RUN_ALL_TESTS();
71+
}

0 commit comments

Comments
 (0)