|
@@ -1,126 +0,0 @@
|
|
-#include "../Tests.h"
|
|
|
|
-#include "core/RingBuffer.h"
|
|
|
|
-#include "core/ToString.h"
|
|
|
|
-#include "core/Utility.h"
|
|
|
|
-
|
|
|
|
-static void testReadAndWrite() {
|
|
|
|
- CoreRingBuffer r = CORE_RING_BUFFER(5, sizeof(size_t));
|
|
|
|
- CORE_TEST_SIZE(0, r.length);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 4);
|
|
|
|
- CORE_TEST_SIZE(1, r.length);
|
|
|
|
- CORE_TEST_SIZE(4, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- CORE_TEST_SIZE(4, coreRingBufferGetC(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(0, r.length);
|
|
|
|
- coreDestroyRingBuffer(&r);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static void testOverflow() {
|
|
|
|
- CoreRingBuffer r = CORE_RING_BUFFER(3, sizeof(size_t));
|
|
|
|
- coreRingBufferAdd(&r, size_t, 1);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 2);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 3);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 4);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 5);
|
|
|
|
- CORE_TEST_SIZE(3, r.length);
|
|
|
|
- CORE_TEST_SIZE(1, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(2, r.length);
|
|
|
|
- CORE_TEST_SIZE(2, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(1, r.length);
|
|
|
|
- CORE_TEST_SIZE(3, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(0, r.length);
|
|
|
|
- coreDestroyRingBuffer(&r);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static void testRefill() {
|
|
|
|
- CoreRingBuffer r = CORE_RING_BUFFER(3, sizeof(size_t));
|
|
|
|
- coreRingBufferAdd(&r, size_t, 1);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 2);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 3);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 4);
|
|
|
|
- CORE_TEST_SIZE(3, r.length);
|
|
|
|
- CORE_TEST_SIZE(1, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(2, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(3, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(0, r.length);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 5);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 6);
|
|
|
|
- CORE_TEST_SIZE(2, r.length);
|
|
|
|
- CORE_TEST_SIZE(5, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(6, coreRingBufferGet(&r, 0, size_t));
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- CORE_TEST_SIZE(0, r.length);
|
|
|
|
- coreDestroyRingBuffer(&r);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static void testClear() {
|
|
|
|
- CoreRingBuffer r = CORE_RING_BUFFER(3, sizeof(size_t));
|
|
|
|
- coreRingBufferAdd(&r, size_t, 1);
|
|
|
|
- coreRingBufferAdd(&r, size_t, 2);
|
|
|
|
- CORE_TEST_SIZE(2, r.length);
|
|
|
|
- coreClearRingBuffer(&r);
|
|
|
|
- CORE_TEST_SIZE(0, r.length);
|
|
|
|
- coreDestroyRingBuffer(&r);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static void testOverall() {
|
|
|
|
- CoreRingBuffer ri = CORE_RING_BUFFER(3, sizeof(size_t));
|
|
|
|
- coreRingBufferAdd(&ri, size_t, 1);
|
|
|
|
- coreRingBufferAdd(&ri, size_t, 2);
|
|
|
|
- coreRingBufferAdd(&ri, size_t, 3);
|
|
|
|
-
|
|
|
|
- CoreRingBuffer r = CORE_RING_BUFFER(0, 0);
|
|
|
|
- coreSwapRingBuffer(&r, &ri);
|
|
|
|
- char buffer[128];
|
|
|
|
- coreToStringRingBuffer(&r, buffer, sizeof(buffer), coreToStringSize);
|
|
|
|
- CORE_TEST_STRING("[1, 2, 3]", buffer);
|
|
|
|
- CORE_TEST_SIZE(3, r.length);
|
|
|
|
-
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- coreToStringRingBuffer(&r, buffer, sizeof(buffer), coreToStringSize);
|
|
|
|
- CORE_TEST_STRING("[2, 3]", buffer);
|
|
|
|
- CORE_TEST_SIZE(2, r.length);
|
|
|
|
-
|
|
|
|
- coreRingBufferAdd(&r, size_t, 4);
|
|
|
|
- coreToStringRingBuffer(&r, buffer, sizeof(buffer), coreToStringSize);
|
|
|
|
- CORE_TEST_STRING("[2, 3, 4]", buffer);
|
|
|
|
- CORE_TEST_SIZE(3, r.length);
|
|
|
|
-
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- coreToStringRingBuffer(&r, buffer, sizeof(buffer), coreToStringSize);
|
|
|
|
- CORE_TEST_STRING("[3, 4]", buffer);
|
|
|
|
- CORE_TEST_SIZE(2, r.length);
|
|
|
|
-
|
|
|
|
- coreRingBufferAdd(&r, size_t, 5);
|
|
|
|
- coreToStringRingBuffer(&r, buffer, sizeof(buffer), coreToStringSize);
|
|
|
|
- CORE_TEST_STRING("[3, 4, 5]", buffer);
|
|
|
|
- CORE_TEST_SIZE(3, r.length);
|
|
|
|
-
|
|
|
|
- coreRingBufferRemove(&r);
|
|
|
|
- coreToStringRingBuffer(&r, buffer, sizeof(buffer), coreToStringSize);
|
|
|
|
- CORE_TEST_STRING("[4, 5]", buffer);
|
|
|
|
- CORE_TEST_SIZE(2, r.length);
|
|
|
|
-
|
|
|
|
- coreClearRingBuffer(&r);
|
|
|
|
- coreToStringRingBuffer(&r, buffer, sizeof(buffer), coreToStringSize);
|
|
|
|
- CORE_TEST_STRING("[]", buffer);
|
|
|
|
- CORE_TEST_SIZE(0, r.length);
|
|
|
|
-
|
|
|
|
- coreDestroyRingBuffer(&r);
|
|
|
|
- coreDestroyRingBuffer(&ri);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void testRingBuffer() {
|
|
|
|
- testReadAndWrite();
|
|
|
|
- testOverflow();
|
|
|
|
- testRefill();
|
|
|
|
- testClear();
|
|
|
|
- testOverall();
|
|
|
|
-}
|
|
|