diff options
Diffstat (limited to 'js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt')
-rw-r--r-- | js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt b/js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt new file mode 100644 index 0000000..7387c93 --- /dev/null +++ b/js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt @@ -0,0 +1,59 @@ +/* Gradual embedded functions test */ + +// Test 1: Basic arrow functions +basic : { + identity: x -> x, + double: x -> x * 2 +}; + +// Test 2: When expressions (simple) +classifier1 : { + classify: x -> when x is + 0 then "zero" + _ then "other" +}; + +// Test 3: When expressions (multiple cases) +classifier2 : { + classify: x -> when x is + 0 then "zero" + 1 then "one" + 2 then "two" + _ then "other" +}; + +// Test 4: Mixed content tables +mixed : { + name: "Calculator", + add: x y -> x + y +}; + +// Output tests +..out "=== GRADUAL EMBEDDED FUNCTIONS TEST ==="; + +..out "Basic functions:"; +id_result : basic.identity 42; +..out id_result; +double_result : basic.double 21; +..out double_result; + +..out "Simple classifier:"; +class1_zero : classifier1.classify 0; +..out class1_zero; +class1_other : classifier1.classify 99; +..out class1_other; + +..out "Complex classifier:"; +class2_zero : classifier2.classify 0; +..out class2_zero; +class2_one : classifier2.classify 1; +..out class2_one; +class2_two : classifier2.classify 2; +..out class2_two; +class2_other : classifier2.classify 99; +..out class2_other; + +..out "Mixed table:"; +..out mixed.name; +mixed_add : mixed.add 15 25; +..out mixed_add; \ No newline at end of file |