#include #include #include #include "assoc_array.h" void printPass() { if (isatty(STDOUT_FILENO)) { printf("\e[32mPASS\e[0m\n"); } else { printf("PASS\n"); } } void test1() { printf("[TEST] Characters that end up in the same bucket inc'd correctly\t"); AssocArray *aa = aaAlloc(26); // 'm' % 26 == 5 // 'S' % 26 == 5 assert(aaIncrement(aa, 'm') == 1); assert(aaIncrement(aa, 'm') == 2); assert(aaIncrement(aa, 'S') == 1); assert(aaIncrement(aa, 'm') == 3); assert(aaIncrement(aa, 'S') == 2); aaFree(aa); printPass(); } void test2() { printf("[TEST] Able to increment and get values\t\t\t\t\t"); AssocArray *aa = aaAlloc(26); assert(aaValue(aa, 'a') == 0); assert(aaIncrement(aa, 'a') == 1); assert(aaValue(aa, 'a') == 1); assert(aaIncrement(aa, 'a') == 2); assert(aaValue(aa, 'a') == 2); assert(aaValue(aa, 'G') == 0); assert(aaIncrement(aa, 'G') == 1); assert(aaValue(aa, 'G') == 1); assert(aaIncrement(aa, 'G') == 2); assert(aaIncrement(aa, 'G') == 3); assert(aaValue(aa, 'G') == 3); assert(aaValue(aa, 'a') == 2); assert(aaValue(aa, 'p') == 0); assert(aaIncrement(aa, 'p') == 1); assert(aaIncrement(aa, 'p') == 2); aaFree(aa); printPass(); } int main() { printf("\n"); test1(); test2(); return 0; }