|
@@ -1,10 +1,11 @@
|
|
|
#include "../Tests.h"
|
|
|
#include "core/List.h"
|
|
|
#include "core/Utility.h"
|
|
|
+#include "core/Vector.h"
|
|
|
|
|
|
static void testAdd() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 5, size_t);
|
|
|
+ coreListAdd(&list, size_t, 5);
|
|
|
CORE_TEST_SIZE(5, coreListGet(&list, 0, size_t));
|
|
|
CORE_TEST_SIZE(5, coreListGetC(&list, 0, size_t));
|
|
|
CORE_TEST_SIZE(1, list.length);
|
|
@@ -13,9 +14,9 @@ static void testAdd() {
|
|
|
|
|
|
static void testMultipleAdd() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 4, size_t);
|
|
|
- coreListAdd(&list, 3, size_t);
|
|
|
- coreListAdd(&list, 2, size_t);
|
|
|
+ coreListAdd(&list, size_t, 4);
|
|
|
+ coreListAdd(&list, size_t, 3);
|
|
|
+ coreListAdd(&list, size_t, 2);
|
|
|
CORE_TEST_SIZE(4, coreListGet(&list, 0, size_t));
|
|
|
CORE_TEST_SIZE(3, coreListGet(&list, 1, size_t));
|
|
|
CORE_TEST_SIZE(2, coreListGet(&list, 2, size_t));
|
|
@@ -28,7 +29,7 @@ static void testMultipleAdd() {
|
|
|
|
|
|
static void testAddReplace() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 5, size_t);
|
|
|
+ coreListAdd(&list, size_t, 5);
|
|
|
coreListGet(&list, 0, size_t) = 3;
|
|
|
CORE_TEST_SIZE(3, coreListGet(&list, 0, size_t));
|
|
|
coreDestroyList(&list);
|
|
@@ -36,8 +37,8 @@ static void testAddReplace() {
|
|
|
|
|
|
static void testClear() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 5, size_t);
|
|
|
- coreListAdd(&list, 4, size_t);
|
|
|
+ coreListAdd(&list, size_t, 5);
|
|
|
+ coreListAdd(&list, size_t, 4);
|
|
|
coreClearList(&list);
|
|
|
CORE_TEST_SIZE(0, list.length);
|
|
|
coreDestroyList(&list);
|
|
@@ -45,9 +46,9 @@ static void testClear() {
|
|
|
|
|
|
static void testShrink() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 5, size_t);
|
|
|
- coreListAdd(&list, 4, size_t);
|
|
|
- coreListAdd(&list, 3, size_t);
|
|
|
+ coreListAdd(&list, size_t, 5);
|
|
|
+ coreListAdd(&list, size_t, 4);
|
|
|
+ coreListAdd(&list, size_t, 3);
|
|
|
CORE_TEST_TRUE(list.capacity >= 3);
|
|
|
coreShrinkList(&list);
|
|
|
CORE_TEST_SIZE(3, list.length);
|
|
@@ -62,7 +63,7 @@ static void testBigAdd(bool light) {
|
|
|
size_t limit = light ? 10000 : 100000;
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
for(size_t i = 0; i < limit; i++) {
|
|
|
- coreListAdd(&list, i, size_t);
|
|
|
+ coreListAdd(&list, size_t, i);
|
|
|
}
|
|
|
for(size_t i = 0; i < list.length; i++) {
|
|
|
CORE_TEST_SIZE(i, coreListGet(&list, i, size_t));
|
|
@@ -73,9 +74,9 @@ static void testBigAdd(bool light) {
|
|
|
|
|
|
static void testCopy() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 1, size_t);
|
|
|
- coreListAdd(&list, 2, size_t);
|
|
|
- coreListAdd(&list, 3, size_t);
|
|
|
+ coreListAdd(&list, size_t, 1);
|
|
|
+ coreListAdd(&list, size_t, 2);
|
|
|
+ coreListAdd(&list, size_t, 3);
|
|
|
|
|
|
CoreList copy = CORE_LIST(0);
|
|
|
coreCopyList(©, &list);
|
|
@@ -92,9 +93,9 @@ static void testCopy() {
|
|
|
|
|
|
static void testMove() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 1, size_t);
|
|
|
- coreListAdd(&list, 2, size_t);
|
|
|
- coreListAdd(&list, 3, size_t);
|
|
|
+ coreListAdd(&list, size_t, 1);
|
|
|
+ coreListAdd(&list, size_t, 2);
|
|
|
+ coreListAdd(&list, size_t, 3);
|
|
|
|
|
|
CoreList move = CORE_LIST(0);
|
|
|
coreMoveList(&move, &list);
|
|
@@ -109,9 +110,9 @@ static void testMove() {
|
|
|
|
|
|
static void testToString1() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 1, size_t);
|
|
|
- coreListAdd(&list, 243, size_t);
|
|
|
- coreListAdd(&list, 423, size_t);
|
|
|
+ coreListAdd(&list, size_t, 1);
|
|
|
+ coreListAdd(&list, size_t, 243);
|
|
|
+ coreListAdd(&list, size_t, 423);
|
|
|
char buffer[128];
|
|
|
size_t n =
|
|
|
coreToStringList(&list, buffer, sizeof(buffer), coreToStringSize);
|
|
@@ -122,7 +123,7 @@ static void testToString1() {
|
|
|
|
|
|
static void testToString2() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 1, size_t);
|
|
|
+ coreListAdd(&list, size_t, 1);
|
|
|
char buffer[128];
|
|
|
size_t n =
|
|
|
coreToStringList(&list, buffer, sizeof(buffer), coreToStringSize);
|
|
@@ -143,9 +144,9 @@ static void testToString3() {
|
|
|
|
|
|
static void testRemoveBySwap() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 4, size_t);
|
|
|
- coreListAdd(&list, 3, size_t);
|
|
|
- coreListAdd(&list, 2, size_t);
|
|
|
+ coreListAdd(&list, size_t, 4);
|
|
|
+ coreListAdd(&list, size_t, 3);
|
|
|
+ coreListAdd(&list, size_t, 2);
|
|
|
coreListRemoveBySwap(&list, 0);
|
|
|
CORE_TEST_SIZE(2, coreListGet(&list, 0, size_t));
|
|
|
CORE_TEST_SIZE(3, coreListGet(&list, 1, size_t));
|
|
@@ -160,9 +161,9 @@ static void testRemoveBySwap() {
|
|
|
|
|
|
static void testRemove() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 4, size_t);
|
|
|
- coreListAdd(&list, 3, size_t);
|
|
|
- coreListAdd(&list, 2, size_t);
|
|
|
+ coreListAdd(&list, size_t, 4);
|
|
|
+ coreListAdd(&list, size_t, 3);
|
|
|
+ coreListAdd(&list, size_t, 2);
|
|
|
coreListRemove(&list, 0);
|
|
|
CORE_TEST_SIZE(3, coreListGet(&list, 0, size_t));
|
|
|
CORE_TEST_SIZE(2, coreListGet(&list, 1, size_t));
|
|
@@ -177,9 +178,9 @@ static void testRemove() {
|
|
|
|
|
|
static void testRemoveLast() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreListAdd(&list, 4, size_t);
|
|
|
- coreListAdd(&list, 3, size_t);
|
|
|
- coreListAdd(&list, 2, size_t);
|
|
|
+ coreListAdd(&list, size_t, 4);
|
|
|
+ coreListAdd(&list, size_t, 3);
|
|
|
+ coreListAdd(&list, size_t, 2);
|
|
|
coreListRemoveLast(&list);
|
|
|
CORE_TEST_SIZE(4, coreListGet(&list, 0, size_t));
|
|
|
CORE_TEST_SIZE(3, coreListGet(&list, 1, size_t));
|
|
@@ -194,7 +195,7 @@ static void testRemoveLast() {
|
|
|
|
|
|
static void testResize() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
- coreResizeListV(&list, 5, 10, size_t);
|
|
|
+ coreResizeListV(&list, 5, size_t, 10);
|
|
|
CORE_TEST_SIZE(5, list.length);
|
|
|
for(size_t i = 0; i < 5; i++) {
|
|
|
CORE_TEST_SIZE(10, coreListGet(&list, i, size_t));
|
|
@@ -229,7 +230,7 @@ static void testShrinkResize() {
|
|
|
CoreList list = CORE_LIST(sizeof(size_t));
|
|
|
coreResizeList(&list, 50);
|
|
|
CORE_TEST_SIZE(50, list.length);
|
|
|
- coreResizeListV(&list, 20, 5, size_t);
|
|
|
+ coreResizeListV(&list, 20, size_t, 5);
|
|
|
CORE_TEST_SIZE(20, list.length);
|
|
|
coreResizeList(&list, 10);
|
|
|
CORE_TEST_SIZE(10, list.length);
|
|
@@ -244,6 +245,15 @@ static void testCopyEmpty() {
|
|
|
coreDestroyList(&list);
|
|
|
}
|
|
|
|
|
|
+static void testStruct() {
|
|
|
+ CoreList list = CORE_LIST(sizeof(CoreVector3));
|
|
|
+ CoreVector3 v = {{1, 2, 3}};
|
|
|
+ coreListAddPointer(&list, &v);
|
|
|
+ coreListAdd(&list, CoreVector3, {2, 3, 4});
|
|
|
+ CORE_TEST_V3(&v, coreListGetPointer(&list, 0));
|
|
|
+ coreDestroyList(&list);
|
|
|
+}
|
|
|
+
|
|
|
void coreTestList(bool light) {
|
|
|
testAdd();
|
|
|
testMultipleAdd();
|
|
@@ -265,4 +275,5 @@ void coreTestList(bool light) {
|
|
|
testShrinkExact();
|
|
|
testShrinkResize();
|
|
|
testCopyEmpty();
|
|
|
+ testStruct();
|
|
|
}
|