Skip to content

Commit ab1004a

Browse files
authored
Merge pull request #740 from UWB-Biocomputing/master
Update development to include EventBuffer unit tests
2 parents 79a98d9 + cd6b6f0 commit ab1004a

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ add_executable(tests
363363
Testing/UnitTesting/GraphManagerTests.cpp
364364
Testing/Utils/ParameterManagerTests.cpp
365365
Testing/Utils/CircularBufferTests.cpp
366+
Testing/UnitTesting/EventBufferTests.cpp
366367
Testing/UnitTesting/XmlRecorderTests.cpp
367368
Testing/UnitTesting/Hdf5RecorderTests.cpp)
368369

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/**
2+
* @file EventBufferTests.cpp
3+
*
4+
* @brief This file contains the unit tests for EventBuffer using GTest.
5+
*
6+
* @ingroup Testing/UnitTesting
7+
*/
8+
9+
#include "EventBuffer.h"
10+
#include "gtest/gtest.h"
11+
12+
// A buffer which can hold 5 elements
13+
EventBuffer buffer(5);
14+
15+
//GetElement when buffer is empty
16+
//Assuming getElement() returns uint64_t
17+
TEST(EventBufferTest, GetElementFromEmptyBuffer)
18+
{
19+
EXPECT_EQ(std::get<uint64_t>(buffer.getElement(0)), std::numeric_limits<unsigned long>::max());
20+
}
21+
22+
// GetPastEvent when buffer is empty
23+
TEST(EventBufferTest, GetPastEventFromEmptyBuffer)
24+
{
25+
EXPECT_EQ(buffer.getPastEvent(-1), std::numeric_limits<unsigned long>::max());
26+
}
27+
28+
// Insert into empty buffer
29+
TEST(EventBufferTest, InsertEventEmptyBuffer)
30+
{
31+
buffer.insertEvent(10);
32+
buffer.insertEvent(20);
33+
34+
EXPECT_EQ(std::get<uint64_t>(buffer.getElement(0)), 10);
35+
EXPECT_EQ(std::get<uint64_t>(buffer.getElement(1)), 20);
36+
}
37+
38+
// Insert when buffer is full, test wrap around
39+
TEST(EventBufferTest, BufferWrapAround)
40+
{
41+
buffer.insertEvent(30);
42+
buffer.insertEvent(40);
43+
buffer.insertEvent(50);
44+
45+
//Insert into A full buffer
46+
//buffer.insertEvent(60);
47+
48+
// The buffer should have overwritten 60 inplace of 10
49+
//EXPECT_EQ(std::get<uint64_t>(buffer.getElement(0)), 60);
50+
EXPECT_EQ(std::get<uint64_t>(buffer.getElement(1)), 20);
51+
EXPECT_EQ(std::get<uint64_t>(buffer.getElement(2)), 30);
52+
EXPECT_EQ(std::get<uint64_t>(buffer.getElement(3)), 40);
53+
EXPECT_EQ(std::get<uint64_t>(buffer.getElement(4)), 50);
54+
}

0 commit comments

Comments
 (0)