diff options
Diffstat (limited to 'tests/macro-tests.c')
-rw-r--r-- | tests/macro-tests.c | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/tests/macro-tests.c b/tests/macro-tests.c index b5f0ac5..81a2932 100644 --- a/tests/macro-tests.c +++ b/tests/macro-tests.c @@ -160,3 +160,199 @@ const char * test_LILY_COUNTER() return 0; } + + +const char * test_LILY_COUNTER_DECREMENT() +{ + if (LILY_COUNTER != 20) + return "LILY_COUNTER is not 20!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 19) + return "LILY_COUNTER is not 19!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 18) + return "LILY_COUNTER is not 18!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 17) + return "LILY_COUNTER is not 17!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 16) + return "LILY_COUNTER is not 16!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 15) + return "LILY_COUNTER is not 15!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 14) + return "LILY_COUNTER is not 14!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 13) + return "LILY_COUNTER is not 13!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 12) + return "LILY_COUNTER is not 12!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 11) + return "LILY_COUNTER is not 11!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 10) + return "LILY_COUNTER is not 10!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 9) + return "LILY_COUNTER is not 9!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 8) + return "LILY_COUNTER is not 8!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 7) + return "LILY_COUNTER is not 7!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 6) + return "LILY_COUNTER is not 6!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 5) + return "LILY_COUNTER is not 5!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 4) + return "LILY_COUNTER is not 4!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 3) + return "LILY_COUNTER is not 3!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 2) + return "LILY_COUNTER is not 2!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 1) + return "LILY_COUNTER is not 1!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 0) + return "LILY_COUNTER is not 0!"; + + #define LILY_COUNTER_DECREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 0xfff) + return "LILY_COUNTER is not 0xfff!"; + + #define LILY_COUNTER_INCREMENT + #include "lily-test.h" + + if (LILY_COUNTER != 0) + return "LILY_COUNTER is not 0 again!"; + + return 0; +} + + +LILY_FILE_BEGIN() + + +int array[3] = { 0, 0, 0 }; + +LILY_TEST("set array[0] to 1") +{ + array[0] = 1; +} +#include LILY_PUSH_TEST() + + +LILY_TEST("set array[1] to 2") +{ + array[1] = 2; +} +#include LILY_PUSH_TEST() + + +LILY_TEST("set array[2] to 3") +{ + array[2] = 3; +} +#include LILY_PUSH_TEST() + + +#define LILY_FILE_END +#include LILY_REGISTER_TESTS() + +const char * test_auto_registration() +{ + lily_ll_node_t *n = &LILY_LIST_HEAD; + if (n->next == NULL) { + return "No functions were registered!"; + } + if (n->next == n) { + return "List loops!"; + } + + while (n->next != NULL) { + n->f(); + n = n->next; + } + + if (array[0] != 1) + return "Function 0 didn't run!"; + if (array[1] != 2) + return "Function 1 didn't run!"; + if (array[2] != 3) + return "Function 2 didn't run!"; + + return 0; +} |