diff options
Diffstat (limited to 'js/scripting-lang/comprehensive_test.txt')
-rw-r--r-- | js/scripting-lang/comprehensive_test.txt | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/js/scripting-lang/comprehensive_test.txt b/js/scripting-lang/comprehensive_test.txt deleted file mode 100644 index c2db63f..0000000 --- a/js/scripting-lang/comprehensive_test.txt +++ /dev/null @@ -1,155 +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:"; - -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 standard library functions:"; -slResult1 : map @double 5; -slResult2 : map @square 3; -piped : pipe @double @square 2; -isPositive : x -> x > 0; -filtered : filter @isPositive 5; -reduced : reduce @add 0 5; -folded : fold @add 0 5; - -..assert (map @double 5) = 10; -..assert (map @square 3) = 9; -..assert (pipe @double @square 2) = 16; -..assert (filter @isPositive 5) = 5; -..assert (reduce @add 0 5) = 5; -..assert (fold @add 0 5) = 5; - -..out "Standard library results:"; -..out slResult1; -..out slResult2; -..out piped; -..out filtered; -..out reduced; -..out folded; - -..out "Testing higher-order functions:"; -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:"; -lessTest : 3 < 5; -greaterTest : 10 > 5; -equalTest : 5 = 5; -notEqualTest : 3 != 5; -lessEqualTest : 5 <= 5; -greaterEqualTest : 5 >= 3; -..out lessTest; -..out greaterTest; -..out equalTest; -..out notEqualTest; -..out lessEqualTest; -..out greaterEqualTest; - -..out "Testing logical operators:"; -logicalAnd : 1 and 1; -logicalOr : 0 or 1; -logicalXor : 1 xor 0; -logicalNot : not 0; -..out logicalAnd; -..out logicalOr; -..out logicalXor; -..out logicalNot; - -..out "Testing complex expressions:"; -complex1 : 2 ^ 3 % 3 and 5 > 3; -..out complex1; - - - -..out "All tests completed successfully!"; \ No newline at end of file |