From 66a50da66c59c65bf5e3c47d9f3bd3d6f48dbc80 Mon Sep 17 00:00:00 2001 From: Kyler Date: Sat, 1 Nov 2025 15:19:20 -0600 Subject: [PATCH] Added Hello World program test --- SLS_C/tests/lexer_tests.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/SLS_C/tests/lexer_tests.c b/SLS_C/tests/lexer_tests.c index 4635855..069f95e 100644 --- a/SLS_C/tests/lexer_tests.c +++ b/SLS_C/tests/lexer_tests.c @@ -12,7 +12,7 @@ #include "sls/lexer.h" #include "tests/tests.h" -static const size_t NUM_OF_TESTS = 11; +static const size_t NUM_OF_TESTS = 12; static const double FLOAT_TEST_PRECISION = 0.01; @@ -572,6 +572,17 @@ static Boolean test_type_tuple_value(LexerTest *test, LexerResult result, size_t // Test cases +static TestResult test_hello_world_statement() { + LexerTest test = start_up_test("test_hello_world_statement", "\"Hello, World!\" print"); + 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_string_value(&test, result, i++, 13, "Hello, World!")) return test.result; + if (test_identifier_value(&test, result, i++, FALSE, 5, "print")) return test.result; + if (test_eof_value(&test, result, i++)) return test.result; + return pass_test(&test, result); +} + static TestResult test_add_statement() { LexerTest test = start_up_test("test_add_statement", "3 4 +"); LexerResult result = lexical_analysis(&test.lexer_info); @@ -717,6 +728,7 @@ TestsReport run_lexer_tests() { size_t i = 0; + test_report.tests[i++] = test_hello_world_statement(); test_report.tests[i++] = test_add_statement(); test_report.tests[i++] = test_sub_statement(); test_report.tests[i++] = test_mult_statement();