diff options
Diffstat (limited to 'js/scripting-lang/comprehensive_test.txt')
-rw-r--r-- | js/scripting-lang/comprehensive_test.txt | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/js/scripting-lang/comprehensive_test.txt b/js/scripting-lang/comprehensive_test.txt deleted file mode 100644 index 745a00b..0000000 --- a/js/scripting-lang/comprehensive_test.txt +++ /dev/null @@ -1,132 +0,0 @@ -x : 5; -y : 3; -name : "Alice"; -age : 25; - -..out "Basic arithmetic:"; -sum : x + y; -diff : x - y; -product : x * y; -quotient : x / y; -modulo : 17 % 5; -power : 2 ^ 3; -..out sum; -..out diff; -..out product; -..out quotient; -..out modulo; -..out power; - -..out "Variables:"; -..out name; -..out age; - -add : x y -> x + y; -double : x -> x * 2; -square : x -> x * x; - -..out "Functions:"; -result1 : add 3 4; -result2 : double 5; -result3 : square 4; -..out result1; -..out result2; -..out result3; - -..out "Function calls with parentheses:"; -result4 : add (3 + 2) (4 + 1); -result5 : add (double 3) (square 2); -..out result4; -..out result5; - -..out "Testing assertions:"; -..assert x = 5; -..assert y = 3; -..assert sum = 8; -..assert "hello" = "hello"; -..assert add 3 4 = 7; - -..out "Testing first-class functions:"; -compose : f g x -> f g x; -apply : f x -> f x; - -composed : compose @double @square 3; -applied : apply @double 5; - -..assert composed = 18; -..assert applied = 10; - -..out "First-class functions:"; -..out composed; -..out applied; - -..out "Testing higher-order functions:"; -map : f x -> f x; -mapped1 : map @double 3; -mapped2 : map @square 4; - -..assert mapped1 = 6; -..assert mapped2 = 16; - -..out "Map results:"; -..out mapped1; -..out mapped2; - -..out "Testing case expressions:"; -compare : x y -> - case x y of - 0 0 : "both zero" - 0 _ : "x is zero" - _ 0 : "y is zero" - _ _ : "neither zero"; - -test1 : compare 0 0; -..out test1; - - - -..out "Testing standalone case expressions with function references:"; -case 0 of - 0 : @double - _ : @square; - -..out "Standalone case with function references works!"; - -..out "Testing parentheses grouping:"; -grouped1 : (5 + 3) * 2; -grouped2 : ((5 + 3) * 2) + 1; - -..assert grouped1 = 16; -..assert grouped2 = 17; - -..out "Parentheses grouping works!"; - -..out "Testing comparison operators:"; -less_test : 3 < 5; -greater_test : 10 > 5; -equal_test : 5 = 5; -not_equal_test : 3 != 5; -less_equal_test : 5 <= 5; -greater_equal_test : 5 >= 3; -..out less_test; -..out greater_test; -..out equal_test; -..out not_equal_test; -..out less_equal_test; -..out greater_equal_test; - -..out "Testing logical operators:"; -and_test : 1 and 1; -or_test : 0 or 1; -xor_test : 1 xor 0; -not_test : not 0; -..out and_test; -..out or_test; -..out xor_test; -..out not_test; - -..out "Testing complex expressions:"; -complex1 : 2 ^ 3 % 3 and 5 > 3; -..out complex1; - -..out "All tests completed successfully!"; \ No newline at end of file |