|
@@ -4,179 +4,182 @@
|
|
|
#include "core/ToString.h"
|
|
|
#include "core/Vector.h"
|
|
|
|
|
|
+LIST(size_t, Size)
|
|
|
+LIST(Vector3, V3)
|
|
|
+
|
|
|
static void testAdd() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 5);
|
|
|
- TEST_SIZE(5, getTypedListIndex(&list, 0, size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 5);
|
|
|
+ TEST_SIZE(5, *getListIndexSize(&list, 0));
|
|
|
TEST_SIZE(1, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testMultipleAdd() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 4);
|
|
|
- addListType(&list, size_t, 3);
|
|
|
- addListType(&list, size_t, 2);
|
|
|
- TEST_SIZE(4, getTypedListIndex(&list, 0, size_t));
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 1, size_t));
|
|
|
- TEST_SIZE(2, getTypedListIndex(&list, 2, size_t));
|
|
|
- TEST_SIZE(2, getTypedListLast(&list, size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 4);
|
|
|
+ addListDataSize(&list, 3);
|
|
|
+ addListDataSize(&list, 2);
|
|
|
+ TEST_SIZE(4, *getListIndexSize(&list, 0));
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 1));
|
|
|
+ TEST_SIZE(2, *getListIndexSize(&list, 2));
|
|
|
+ TEST_SIZE(2, *getListLastSize(&list));
|
|
|
TEST_SIZE(3, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testAddLast() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 4);
|
|
|
- addListType(&list, size_t, 3);
|
|
|
- addLastListData(&list);
|
|
|
- TEST_SIZE(4, getTypedListIndex(&list, 0, size_t));
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 1, size_t));
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 2, size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 4);
|
|
|
+ addListDataSize(&list, 3);
|
|
|
+ addLastListDataSize(&list);
|
|
|
+ TEST_SIZE(4, *getListIndexSize(&list, 0));
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 1));
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 2));
|
|
|
TEST_SIZE(3, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testAddReplace() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 5);
|
|
|
- getTypedListIndex(&list, 0, size_t) = 3;
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 0, size_t));
|
|
|
- destroyList(&list);
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 5);
|
|
|
+ *getListIndexSize(&list, 0) = 3;
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 0));
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testClear() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 5);
|
|
|
- addListType(&list, size_t, 4);
|
|
|
- clearList(&list);
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 5);
|
|
|
+ addListDataSize(&list, 4);
|
|
|
+ clearListSize(&list);
|
|
|
TEST_SIZE(0, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testBigAdd(bool light) {
|
|
|
size_t limit = light ? 10000 : 100000;
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
for(size_t i = 0; i < limit; i++) {
|
|
|
- addListType(&list, size_t, i);
|
|
|
+ addListDataSize(&list, i);
|
|
|
}
|
|
|
for(size_t i = 0; i < list.length; i++) {
|
|
|
- TEST_SIZE(i, getTypedListIndex(&list, i, size_t));
|
|
|
+ TEST_SIZE(i, *getListIndexSize(&list, i));
|
|
|
}
|
|
|
TEST_SIZE(limit, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testToString1() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 1);
|
|
|
- addListType(&list, size_t, 243);
|
|
|
- addListType(&list, size_t, 423);
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 1);
|
|
|
+ addListDataSize(&list, 243);
|
|
|
+ addListDataSize(&list, 423);
|
|
|
char buffer[128];
|
|
|
- size_t n = toString(&list, buffer, sizeof(buffer), toStringSize);
|
|
|
+ size_t n = toStringListSize(&list, buffer, sizeof(buffer), toStringSize);
|
|
|
TEST_SIZE(13, n);
|
|
|
TEST_STRING("[1, 243, 423]", buffer);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testToString2() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 1);
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 1);
|
|
|
char buffer[128];
|
|
|
- size_t n = toString(&list, buffer, sizeof(buffer), toStringSize);
|
|
|
+ size_t n = toStringListSize(&list, buffer, sizeof(buffer), toStringSize);
|
|
|
TEST_SIZE(3, n);
|
|
|
TEST_STRING("[1]", buffer);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testToString3() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
char buffer[128];
|
|
|
- size_t n = toString(&list, buffer, sizeof(buffer), toStringSize);
|
|
|
+ size_t n = toStringListSize(&list, buffer, sizeof(buffer), toStringSize);
|
|
|
TEST_SIZE(2, n);
|
|
|
TEST_STRING("[]", buffer);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testRemoveBySwap() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 4);
|
|
|
- addListType(&list, size_t, 3);
|
|
|
- addListType(&list, size_t, 2);
|
|
|
- removeListIndexBySwap(&list, 0);
|
|
|
- TEST_SIZE(2, getTypedListIndex(&list, 0, size_t));
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 1, size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 4);
|
|
|
+ addListDataSize(&list, 3);
|
|
|
+ addListDataSize(&list, 2);
|
|
|
+ removeListIndexBySwapSize(&list, 0);
|
|
|
+ TEST_SIZE(2, *getListIndexSize(&list, 0));
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 1));
|
|
|
TEST_SIZE(2, list.length);
|
|
|
- removeListIndexBySwap(&list, 1);
|
|
|
- TEST_SIZE(2, getTypedListIndex(&list, 0, size_t));
|
|
|
+ removeListIndexBySwapSize(&list, 1);
|
|
|
+ TEST_SIZE(2, *getListIndexSize(&list, 0));
|
|
|
TEST_SIZE(1, list.length);
|
|
|
- removeListIndexBySwap(&list, 0);
|
|
|
+ removeListIndexBySwapSize(&list, 0);
|
|
|
TEST_SIZE(0, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testRemove() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 4);
|
|
|
- addListType(&list, size_t, 3);
|
|
|
- addListType(&list, size_t, 2);
|
|
|
- removeListIndex(&list, 0);
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 0, size_t));
|
|
|
- TEST_SIZE(2, getTypedListIndex(&list, 1, size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 4);
|
|
|
+ addListDataSize(&list, 3);
|
|
|
+ addListDataSize(&list, 2);
|
|
|
+ removeListIndexSize(&list, 0);
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 0));
|
|
|
+ TEST_SIZE(2, *getListIndexSize(&list, 1));
|
|
|
TEST_SIZE(2, list.length);
|
|
|
- removeListIndex(&list, 1);
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 0, size_t));
|
|
|
+ removeListIndexSize(&list, 1);
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 0));
|
|
|
TEST_SIZE(1, list.length);
|
|
|
- removeListIndex(&list, 0);
|
|
|
+ removeListIndexSize(&list, 0);
|
|
|
TEST_SIZE(0, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testRemoveLast() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- addListType(&list, size_t, 4);
|
|
|
- addListType(&list, size_t, 3);
|
|
|
- addListType(&list, size_t, 2);
|
|
|
- removeListLast(&list);
|
|
|
- TEST_SIZE(4, getTypedListIndex(&list, 0, size_t));
|
|
|
- TEST_SIZE(3, getTypedListIndex(&list, 1, size_t));
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ addListDataSize(&list, 4);
|
|
|
+ addListDataSize(&list, 3);
|
|
|
+ addListDataSize(&list, 2);
|
|
|
+ removeListLastSize(&list);
|
|
|
+ TEST_SIZE(4, *getListIndexSize(&list, 0));
|
|
|
+ TEST_SIZE(3, *getListIndexSize(&list, 1));
|
|
|
TEST_SIZE(2, list.length);
|
|
|
- removeListLast(&list);
|
|
|
- TEST_SIZE(4, getTypedListIndex(&list, 0, size_t));
|
|
|
+ removeListLastSize(&list);
|
|
|
+ TEST_SIZE(4, *getListIndexSize(&list, 0));
|
|
|
TEST_SIZE(1, list.length);
|
|
|
- removeListLast(&list);
|
|
|
+ removeListLastSize(&list);
|
|
|
TEST_SIZE(0, list.length);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testInvalidReserve() {
|
|
|
- List list;
|
|
|
- initList(&list, sizeof(size_t));
|
|
|
- reserveListEntries(&list, 0);
|
|
|
- destroyList(&list);
|
|
|
+ ListSize list;
|
|
|
+ initListSize(&list);
|
|
|
+ reserveListEntriesSize(&list, 0);
|
|
|
+ destroyListSize(&list);
|
|
|
}
|
|
|
|
|
|
static void testStruct() {
|
|
|
- List list;
|
|
|
+ ListV3 list;
|
|
|
Vector3 v = {{1, 2, 3}};
|
|
|
- initList(&list, sizeof(v));
|
|
|
- addListData(&list, &v);
|
|
|
- addListType(&list, Vector3, {2, 3, 4});
|
|
|
- Vector3* entry = getListIndex(&list, 0);
|
|
|
+ initListV3(&list);
|
|
|
+ addListDataV3(&list, v);
|
|
|
+ addListDataV3(&list, (Vector3){2, 3, 4});
|
|
|
+ Vector3* entry = getListIndexV3(&list, 0);
|
|
|
TEST_V3(&v, entry);
|
|
|
- destroyList(&list);
|
|
|
+ destroyListV3(&list);
|
|
|
}
|
|
|
|
|
|
void testList(bool light) {
|