Implemented test_square_fn test case

This commit is contained in:
Kyler Olsen 2025-11-03 15:21:36 -07:00
parent c26d0ff87a
commit f8f726aa52
1 changed files with 8 additions and 3 deletions

View File

@ -744,12 +744,17 @@ static TestResult test_dup_and_mult_statement() {
} }
static TestResult test_square_fn() { static TestResult test_square_fn() {
LexerTest test = start_up_test("test_dup_statement", "5 dup"); LexerTest test = start_up_test("test_dup_statement", "(Number -- Number) { dup * } ::square fn");
LexerResult result = lexical_analysis(&test.lexer_info); LexerResult result = lexical_analysis(&test.lexer_info);
if (result.type == SLS_ERROR) return error_fail_test(&test, result, result.error); if (result.type == SLS_ERROR) return error_fail_test(&test, result, result.error);
size_t i = 0; size_t i = 0;
if (test_integer_value(&test, result, i++, &(TestIntegerValue){INTEGER_I64, 5})) return test.result; if (test_type_tuple_value(&test, result, i++, &(TestTypeTupleValue){1, (TestIdentifierValue[]){(TestIdentifierValue){TRUE, 6, "Number"}}, 1, (TestIdentifierValue[]){(TestIdentifierValue){TRUE, 6, "Number"}}})) return test.result;
if (test_identifier_value(&test, result, i++, &(TestIdentifierValue){FALSE, 3, "dup"})) return test.result; if (test_token_string_value(&test, result, i++, &(TestTokenStringValue){3, (TestTokenStringToken[]){
(TestTokenStringToken){test_identifier_value, &(TestIdentifierValue){FALSE, 3, "dup"}},
(TestTokenStringToken){test_identifier_value, &(TestIdentifierValue){FALSE, 1, "*"}}
}})) return test.result;
if (test_identifier_value(&test, result, i++, &(TestIdentifierValue){TRUE, 6, "square"})) return test.result;
if (test_identifier_value(&test, result, i++, &(TestIdentifierValue){FALSE, 2, "fn"})) return test.result;
if (test_eof_value(&test, result, i++, 0)) return test.result; if (test_eof_value(&test, result, i++, 0)) return test.result;
return pass_test(&test, result); return pass_test(&test, result);
} }