#include "EngineTest.h" #include "Containers/Array.h" #define BOOST_TEST_MODULE SeeleEngine #include using namespace Seele; BOOST_AUTO_TEST_SUITE(Array_Suite) BOOST_AUTO_TEST_CASE(empty_constructur) { Array array; BOOST_CHECK_EQUAL(array.size(), 0); } BOOST_AUTO_TEST_CASE(initialial_size) { Array array(3); BOOST_CHECK_EQUAL(array.size(), 3); } BOOST_AUTO_TEST_CASE(resize) { Array array; array.add(2); array.add(3); BOOST_CHECK_EQUAL(array.size(), 2); array.resize(5); BOOST_CHECK_EQUAL(array.size(), 5); } BOOST_AUTO_TEST_CASE(clear) { Array array; array.add(3); array.add(2); array.add(6); BOOST_CHECK_EQUAL(array.size(), 3); array.clear(); BOOST_CHECK_EQUAL(array.size(), 0); } BOOST_AUTO_TEST_CASE(remove_keeporder) { Array array; array.add(1); array.add(2); array.add(3); array.add(4); array.add(5); array.remove(1); BOOST_CHECK_EQUAL(array[1], 3); BOOST_CHECK_EQUAL(array[2], 4); BOOST_CHECK_EQUAL(array[3], 5); BOOST_CHECK_EQUAL(array.size(), 4); } BOOST_AUTO_TEST_CASE(remove_swap) { Array array; array.add(1); array.add(2); array.add(3); array.add(4); array.add(5); array.remove(1, false); BOOST_CHECK_EQUAL(array[1], 5); BOOST_CHECK_EQUAL(array[2], 3); BOOST_CHECK_EQUAL(array[3], 4); BOOST_CHECK_EQUAL(array.size(), 4); } BOOST_AUTO_TEST_CASE(remove_iterator) { Array array; array.add(1); array.add(2); array.add(3); array.add(4); array.add(5); array.remove(array.find(1), false); BOOST_CHECK_EQUAL(array[0], 5); BOOST_CHECK_EQUAL(array[1], 2); BOOST_CHECK_EQUAL(array[2], 3); BOOST_CHECK_EQUAL(array[3], 4); BOOST_CHECK_EQUAL(array.size(), 4); } BOOST_AUTO_TEST_CASE(remove_iterator_keep_order) { Array array; array.add(1); array.add(2); array.add(3); array.add(4); array.add(5); array.remove(array.find(1)); BOOST_CHECK_EQUAL(array[0], 2); BOOST_CHECK_EQUAL(array[1], 3); BOOST_CHECK_EQUAL(array[2], 4); BOOST_CHECK_EQUAL(array[3], 5); BOOST_CHECK_EQUAL(array.size(), 4); } BOOST_AUTO_TEST_CASE(random_access) { Array array; array.add(4); array.add(5); array.add(6); BOOST_CHECK_EQUAL(array[2], 6); BOOST_CHECK_EQUAL(array[0], 4); } BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE(StaticArray_Suite) BOOST_AUTO_TEST_CASE(empty_constructur) { StaticArray array; BOOST_CHECK_EQUAL(array.size(), 2); } BOOST_AUTO_TEST_CASE(initialial_size) { StaticArray array(3); BOOST_CHECK_EQUAL(array.size(), 3); BOOST_CHECK_EQUAL(array[1], 3); } BOOST_AUTO_TEST_CASE(random_access) { StaticArray array; array[0] = 4; array[1] = 5; array[2] = 6; BOOST_CHECK_EQUAL(array[0], 4); BOOST_CHECK_EQUAL(array[2], 6); } BOOST_AUTO_TEST_SUITE_END()