SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [30/72]

SpicesTest::TEST_F ( ObjectPool_test ,
NewDelete  )

Testing Spices::ObjectPool::New/Delete.

Definition at line 79 of file ObjectPool_test.h.

79 {
80
82
83 Object& o = *m_ObjectPool->New();
84
85 EXPECT_EQ(std::get<0>(o.tuple), 1.0f);
86 EXPECT_EQ(std::get<1>(o.tuple), 2);
87 EXPECT_EQ(std::get<2>(o.tuple), nullptr);
88
89 const size_t allBytes = Spices::MemoryLibrary::align_up<size_t>(n * sizeof(Object), 8 * 1024);
90 const size_t remainBytes = allBytes - sizeof(Object);
91 EXPECT_EQ(m_ObjectPool->GetSpareBytes(), remainBytes);
92 EXPECT_EQ(m_ObjectPool->GetNMemoryBlocks(), 1);
93
94 m_ObjectPool->Delete(&o);
95
96 EXPECT_EQ(std::get<0>(o.tuple), 0.0f);
97 EXPECT_EQ(std::get<1>(o.tuple), 0);
98 EXPECT_EQ(std::get<2>(o.tuple), nullptr);
99
100 EXPECT_EQ(m_ObjectPool->GetSpareBytes(), allBytes);
101 EXPECT_EQ(m_ObjectPool->GetNMemoryBlocks(), 1);
102 }
#define SPICESTEST_PROFILE_FUNCTION()
std::tuple< float, int, void * > tuple