test_indexallocator.cpp

Back to IndexAllocator class

test/pastel/sys/

// 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);
}