// Kyler Olsen // YREA SLS // Extra Tests // November 2025 #include #include #include #include #include "sls/string.h" #include "sls/lexer.h" #include "sls/errors.h" #include "tests/lexer_test_helpers.h" #include "tests/tests.h" static const size_t NUM_EXTRA_TESTS = 2; static TestResult test_Identifier_Addition() { LexerTest test = start_up_test(SLS_STR("Identifier Addition"), SLS_STR("+")); LexerResult result = lexical_analysis(&test.lexer_info); if (result.type == SLS_ERROR) return error_fail_test(&test, result, result.error); size_t i = 0; if (test_identifier_value(&test, result, i++, &(TestIdentifierValue){FALSE, SLS_STR("+")})) return test.result; if (test_eof_value(&test, result, i++, 0)) return test.result; return pass_test(&test, result); } static TestResult test_Identifier_Division() { LexerTest test = start_up_test(SLS_STR("Identifier Division"), SLS_STR("/")); LexerResult result = lexical_analysis(&test.lexer_info); if (result.type == SLS_ERROR) return error_fail_test(&test, result, result.error); size_t i = 0; if (test_identifier_value(&test, result, i++, &(TestIdentifierValue){FALSE, SLS_STR("/")})) return test.result; if (test_eof_value(&test, result, i++, 0)) return test.result; return pass_test(&test, result); } // Run all extra tests TestsReport run_extra_tests() { TestsReport report = { .section = SLS_STR("extra_tests"), .count = NUM_EXTRA_TESTS, .tests = malloc(sizeof(TestResult) * NUM_EXTRA_TESTS)}; size_t i = 0; (void)i; report.tests[i++] = test_Identifier_Addition(); report.tests[i++] = test_Identifier_Division(); return report; }