|
@@ -3,119 +3,122 @@
|
|
|
#include "core/ToString.h"
|
|
|
#include "core/Utility.h"
|
|
|
|
|
|
+QUEUE(size_t, Size)
|
|
|
+QUEUE_SOURCE(size_t, Size)
|
|
|
+
|
|
|
static void testReadAndWrite() {
|
|
|
- Queue r;
|
|
|
- initQueue(&r, 5, sizeof(size_t));
|
|
|
+ QueueSize r;
|
|
|
+ initQueueSize(&r, 5);
|
|
|
TEST_SIZE(0, r.length);
|
|
|
- pushQueueType(&r, size_t, 4);
|
|
|
+ pushQueueDataSize(&r, 4);
|
|
|
TEST_SIZE(1, r.length);
|
|
|
- TEST_SIZE(4, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
+ TEST_SIZE(4, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
TEST_SIZE(0, r.length);
|
|
|
- destroyQueue(&r);
|
|
|
+ destroyQueueSize(&r);
|
|
|
}
|
|
|
|
|
|
static void testOverflow() {
|
|
|
- Queue r;
|
|
|
- initQueue(&r, 3, sizeof(size_t));
|
|
|
- pushQueueType(&r, size_t, 1);
|
|
|
- pushQueueType(&r, size_t, 2);
|
|
|
- pushQueueType(&r, size_t, 3);
|
|
|
- pushQueueType(&r, size_t, 4);
|
|
|
- pushQueueType(&r, size_t, 5);
|
|
|
+ QueueSize r;
|
|
|
+ initQueueSize(&r, 3);
|
|
|
+ pushQueueDataSize(&r, 1);
|
|
|
+ pushQueueDataSize(&r, 2);
|
|
|
+ pushQueueDataSize(&r, 3);
|
|
|
+ pushQueueDataSize(&r, 4);
|
|
|
+ pushQueueDataSize(&r, 5);
|
|
|
TEST_SIZE(3, r.length);
|
|
|
- TEST_SIZE(1, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
+ TEST_SIZE(1, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
TEST_SIZE(2, r.length);
|
|
|
- TEST_SIZE(2, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
+ TEST_SIZE(2, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
TEST_SIZE(1, r.length);
|
|
|
- TEST_SIZE(3, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
+ TEST_SIZE(3, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
TEST_SIZE(0, r.length);
|
|
|
- destroyQueue(&r);
|
|
|
+ destroyQueueSize(&r);
|
|
|
}
|
|
|
|
|
|
static void testRefill() {
|
|
|
- Queue r;
|
|
|
- initQueue(&r, 3, sizeof(size_t));
|
|
|
- pushQueueType(&r, size_t, 1);
|
|
|
- pushQueueType(&r, size_t, 2);
|
|
|
- pushQueueType(&r, size_t, 3);
|
|
|
- pushQueueType(&r, size_t, 4);
|
|
|
+ QueueSize r;
|
|
|
+ initQueueSize(&r, 3);
|
|
|
+ pushQueueDataSize(&r, 1);
|
|
|
+ pushQueueDataSize(&r, 2);
|
|
|
+ pushQueueDataSize(&r, 3);
|
|
|
+ pushQueueDataSize(&r, 4);
|
|
|
TEST_SIZE(3, r.length);
|
|
|
- TEST_SIZE(1, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
- TEST_SIZE(2, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
- TEST_SIZE(3, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
+ TEST_SIZE(1, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
+ TEST_SIZE(2, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
+ TEST_SIZE(3, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
TEST_SIZE(0, r.length);
|
|
|
- pushQueueType(&r, size_t, 5);
|
|
|
- pushQueueType(&r, size_t, 6);
|
|
|
+ pushQueueDataSize(&r, 5);
|
|
|
+ pushQueueDataSize(&r, 6);
|
|
|
TEST_SIZE(2, r.length);
|
|
|
- TEST_SIZE(5, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
- TEST_SIZE(6, getTypedQueueIndex(&r, 0, size_t));
|
|
|
- popQueueData(&r);
|
|
|
+ TEST_SIZE(5, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
+ TEST_SIZE(6, *getQueueIndexSize(&r, 0));
|
|
|
+ popQueueDataSize(&r);
|
|
|
TEST_SIZE(0, r.length);
|
|
|
- destroyQueue(&r);
|
|
|
+ destroyQueueSize(&r);
|
|
|
}
|
|
|
|
|
|
static void testClear() {
|
|
|
- Queue r;
|
|
|
- initQueue(&r, 3, sizeof(size_t));
|
|
|
- pushQueueType(&r, size_t, 1);
|
|
|
- pushQueueType(&r, size_t, 2);
|
|
|
+ QueueSize r;
|
|
|
+ initQueueSize(&r, 3);
|
|
|
+ pushQueueDataSize(&r, 1);
|
|
|
+ pushQueueDataSize(&r, 2);
|
|
|
TEST_SIZE(2, r.length);
|
|
|
- clearQueue(&r);
|
|
|
+ clearQueueSize(&r);
|
|
|
TEST_SIZE(0, r.length);
|
|
|
- destroyQueue(&r);
|
|
|
+ destroyQueueSize(&r);
|
|
|
}
|
|
|
|
|
|
static void testOverall() {
|
|
|
- Queue r;
|
|
|
- initQueue(&r, 3, sizeof(size_t));
|
|
|
- pushQueueType(&r, size_t, 1);
|
|
|
- pushQueueType(&r, size_t, 2);
|
|
|
- pushQueueType(&r, size_t, 3);
|
|
|
+ QueueSize r;
|
|
|
+ initQueueSize(&r, 3);
|
|
|
+ pushQueueDataSize(&r, 1);
|
|
|
+ pushQueueDataSize(&r, 2);
|
|
|
+ pushQueueDataSize(&r, 3);
|
|
|
|
|
|
char buffer[128];
|
|
|
- toString(&r, buffer, sizeof(buffer), toStringSize);
|
|
|
+ toStringQueueSize(&r, buffer, sizeof(buffer), (ToStringSize)toStringSize);
|
|
|
TEST_STRING("[1, 2, 3]", buffer);
|
|
|
TEST_SIZE(3, r.length);
|
|
|
|
|
|
- popQueueData(&r);
|
|
|
- toString(&r, buffer, sizeof(buffer), toStringSize);
|
|
|
+ popQueueDataSize(&r);
|
|
|
+ toStringQueueSize(&r, buffer, sizeof(buffer), (ToStringSize)toStringSize);
|
|
|
TEST_STRING("[2, 3]", buffer);
|
|
|
TEST_SIZE(2, r.length);
|
|
|
|
|
|
- pushQueueType(&r, size_t, 4);
|
|
|
- toString(&r, buffer, sizeof(buffer), toStringSize);
|
|
|
+ pushQueueDataSize(&r, 4);
|
|
|
+ toStringQueueSize(&r, buffer, sizeof(buffer), (ToStringSize)toStringSize);
|
|
|
TEST_STRING("[2, 3, 4]", buffer);
|
|
|
TEST_SIZE(3, r.length);
|
|
|
|
|
|
- popQueueData(&r);
|
|
|
- toString(&r, buffer, sizeof(buffer), toStringSize);
|
|
|
+ popQueueDataSize(&r);
|
|
|
+ toStringQueueSize(&r, buffer, sizeof(buffer), (ToStringSize)toStringSize);
|
|
|
TEST_STRING("[3, 4]", buffer);
|
|
|
TEST_SIZE(2, r.length);
|
|
|
|
|
|
- pushQueueType(&r, size_t, 5);
|
|
|
- toString(&r, buffer, sizeof(buffer), toStringSize);
|
|
|
+ pushQueueDataSize(&r, 5);
|
|
|
+ toStringQueueSize(&r, buffer, sizeof(buffer), (ToStringSize)toStringSize);
|
|
|
TEST_STRING("[3, 4, 5]", buffer);
|
|
|
TEST_SIZE(3, r.length);
|
|
|
|
|
|
- popQueueData(&r);
|
|
|
- toString(&r, buffer, sizeof(buffer), toStringSize);
|
|
|
+ popQueueDataSize(&r);
|
|
|
+ toStringQueueSize(&r, buffer, sizeof(buffer), (ToStringSize)toStringSize);
|
|
|
TEST_STRING("[4, 5]", buffer);
|
|
|
TEST_SIZE(2, r.length);
|
|
|
|
|
|
- clearQueue(&r);
|
|
|
- toString(&r, buffer, sizeof(buffer), toStringSize);
|
|
|
+ clearQueueSize(&r);
|
|
|
+ toStringQueueSize(&r, buffer, sizeof(buffer), (ToStringSize)toStringSize);
|
|
|
TEST_STRING("[]", buffer);
|
|
|
TEST_SIZE(0, r.length);
|
|
|
|
|
|
- destroyQueue(&r);
|
|
|
+ destroyQueueSize(&r);
|
|
|
}
|
|
|
|
|
|
void testQueue() {
|