MCPcopy Create free account
hub / github.com/NVIDIA-RTX/Donut / test_circular_buffer

Function test_circular_buffer

tests/src/core/test_circular_buffer.cpp:31–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29using namespace donut;
30
31void test_circular_buffer()
32{
33 core::circular_buffer<int, 5> cbuf;
34
35 CHECK(cbuf.empty() && (cbuf.size() == 0) && (cbuf.capacity() == 5));
36
37 cbuf.push_back(1);
38 cbuf.push_back(2);
39 cbuf.push_back(3);
40 CHECK((!cbuf.empty()) && (!cbuf.full()) && (cbuf.size() == 3) && (cbuf.capacity() == 5));
41 CHECK((cbuf[0] == 1) && (cbuf[1] == 2) && (cbuf[2] == 3));
42 CHECK((cbuf.front() == 1) && (cbuf.back() == 3));
43
44 cbuf.pop_front();
45 CHECK((!cbuf.empty()) && (!cbuf.full()) && (cbuf.size() == 2) && (cbuf.capacity() == 5));
46 CHECK((cbuf[0] == 2) && (cbuf[1] == 3));
47 CHECK((cbuf.front() == 2) && (cbuf.back() == 3));
48
49 cbuf.pop_back();
50 CHECK((!cbuf.empty()) && (!cbuf.full()) && (cbuf.size() == 1) && (cbuf.capacity() == 5));
51 CHECK((cbuf[0] == 2));
52 CHECK((cbuf.front() == 2) && (cbuf.back() == 2));
53
54 cbuf.clear();
55 CHECK(cbuf.empty() && (!cbuf.full()) && (cbuf.size() == 0) && (cbuf.capacity() == 5));
56
57 cbuf.push_back(1);
58 cbuf.push_back(2);
59 cbuf.push_back(3);
60 cbuf.push_back(4);
61 cbuf.push_back(5);
62 CHECK((!cbuf.empty()) && (cbuf.full()) && (cbuf.size() == 5) && (cbuf.capacity() == 5));
63
64 cbuf.push_back(6);
65 CHECK((!cbuf.empty()) && (cbuf.full()) && (cbuf.size() == 5) && (cbuf.capacity() == 5));
66 CHECK((cbuf[0] == 2) && (cbuf[1] == 3) && (cbuf[2] == 4) && (cbuf[3] == 5) && (cbuf[4] == 6));
67
68 cbuf.push_back(7);
69 CHECK((!cbuf.empty()) && (cbuf.full()) && (cbuf.size() == 5) && (cbuf.capacity() == 5));
70 CHECK((cbuf[0] == 3) && (cbuf[1] == 4) && (cbuf[2] == 5) && (cbuf[3] == 6) && (cbuf[4] == 7));
71
72 cbuf.push_back(8);
73 CHECK((!cbuf.empty()) && (cbuf.full()) && (cbuf.size() == 5) && (cbuf.capacity() == 5));
74 CHECK((cbuf[0] == 4) && (cbuf[1] == 5) && (cbuf[2] == 6) && (cbuf[3] == 7) && (cbuf[4] == 8));
75
76 cbuf.push_back(9);
77 CHECK((!cbuf.empty()) && (cbuf.full()) && (cbuf.size() == 5) && (cbuf.capacity() == 5));
78 CHECK((cbuf[0] == 5) && (cbuf[1] == 6) && (cbuf[2] == 7) && (cbuf[3] == 8) && (cbuf[4] == 9));
79
80 cbuf.push_back(10);
81 CHECK((!cbuf.empty()) && (cbuf.full()) && (cbuf.size() == 5) && (cbuf.capacity() == 5));
82 CHECK((cbuf[0] == 6) && (cbuf[1] == 7) && (cbuf[2] == 8) && (cbuf[3] == 9) && (cbuf[4] == 10));
83
84 cbuf.push_back(11);
85 CHECK((!cbuf.empty()) && (cbuf.full()) && (cbuf.size() == 5) && (cbuf.capacity() == 5));
86 CHECK((cbuf[0] == 7) && (cbuf[1] == 8) && (cbuf[2] == 9) && (cbuf[3] == 10) && (cbuf[4] == 11));
87}
88

Callers 1

mainFunction · 0.85

Calls 8

capacityMethod · 0.80
push_backMethod · 0.80
fullMethod · 0.80
pop_frontMethod · 0.80
pop_backMethod · 0.80
clearMethod · 0.80
emptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected