#ifndef SK_TEST_LEXER_H #define SK_TEST_LEXER_H #include #include #include static void test_lexer(char const* source, int count, ...) { struct lexer lexer; lexer_init(&lexer, source); va_list lst; va_start(lst, count); for (int i=0; i >= == <>", 6, "LT", "LE", "GT", "GE", "EQUAL", "NOT_EQUAL" ); } static void test_lexer_block() { test_lexer("begin end", 2, "BEGIN", "END" ); } void register_lexer() { CU_pSuite suite = CU_add_suite("Lexer", 0, 0); CU_add_test(suite, "Integers", test_lexer_int); CU_add_test(suite, "Assertions", test_lexer_assert); CU_add_test(suite, "Booleans", test_lexer_bool); CU_add_test(suite, "Floats", test_lexer_float); CU_add_test(suite, "Strings", test_lexer_string); CU_add_test(suite, "Comparisons", test_lexer_cmp); CU_add_test(suite, "Var Declarations", test_lexer_decl); CU_add_test(suite, "Blocks", test_lexer_block); } #endif