// Description: Testing for IndexAllocator
// DocumentationOf: indexallocator.h
#include "test/test_init.h"
#include "pastel/sys/indexallocator.h"
TEST_CASE("Reserve (IndexAllocator)")
{
IndexAllocator a;
a.reserve(100);
}
TEST_CASE("Single (IndexAllocator)")
{
IndexAllocator a;
a.reserve(100);
a.allocate();
}
TEST_CASE("Many (IndexAllocator)")
{
IndexAllocator a;
a.reserve(100);
for (integer i = 0;i < 90;++i)
{
a.allocate();
}
}
TEST_CASE("All (IndexAllocator)")
{
IndexAllocator a;
a.reserve(100);
for (integer i = 0;i < 100;++i)
{
a.allocate();
}
}
TEST_CASE("TooMany (IndexAllocator)")
{
IndexAllocator a;
a.reserve(100);
for (integer i = 0;i < 101;++i)
{
a.allocate();
}
}
TEST_CASE("Deallocate (IndexAllocator)")
{
IndexAllocator a;
a.reserve(100);
for (integer i = 0;i < 100;++i)
{
a.allocate();
}
a.deallocate(10);
a.deallocate(20);
a.deallocate(0);
a.deallocate(99);
a.deallocate(11);
a.deallocate(9);
a.deallocate(13);
a.deallocate(12);
a.reserve(200);
}