add PagedBuffer; use own main() for tests
This commit is contained in:
1 parent
3be19dbf81
commit
cab874305f
4 files changed
+134
-2
No files matched your search
@@ -0,0 +1,9 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include "System.h"
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
System::init();
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include "PagedBuffer.h"
|
||||
|
||||
struct X
|
||||
{
|
||||
uint64_t a;
|
||||
uint32_t b;
|
||||
uint32_t c;
|
||||
};
|
||||
|
||||
struct Y
|
||||
{
|
||||
uint32_t a;
|
||||
uint32_t b;
|
||||
};
|
||||
|
||||
TEST(PagedBufferTest, empty_paged_buffer_has_size_0)
|
||||
{
|
||||
PagedBuffer<X> pbx;
|
||||
ASSERT_EQ(0u, pbx.size());
|
||||
|
||||
PagedBuffer<Y> pby;
|
||||
ASSERT_EQ(0u, pby.size());
|
||||
}
|
||||
|
||||
TEST(PagedBufferTest, allows_adding_elements)
|
||||
{
|
||||
PagedBuffer<X> pbx;
|
||||
|
||||
for (uint32_t i = 0u; i < 1000u; i++)
|
||||
{
|
||||
X x = {i, 2u * i, 4u * i};
|
||||
pbx[i] = x;
|
||||
}
|
||||
|
||||
ASSERT_GE(pbx.size(), 1000u);
|
||||
|
||||
for (uint32_t i = 0u; i < 1000u; i++)
|
||||
{
|
||||
const X & x = pbx[i];
|
||||
ASSERT_EQ(i, x.a);
|
||||
ASSERT_EQ(2u * i, x.b);
|
||||
ASSERT_EQ(4u * i, x.c);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user