diff options
Diffstat (limited to 'js/scripting-lang/scratch_tests/test_precedence_comprehensive.txt')
-rw-r--r-- | js/scripting-lang/scratch_tests/test_precedence_comprehensive.txt | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/js/scripting-lang/scratch_tests/test_precedence_comprehensive.txt b/js/scripting-lang/scratch_tests/test_precedence_comprehensive.txt new file mode 100644 index 0000000..29f1420 --- /dev/null +++ b/js/scripting-lang/scratch_tests/test_precedence_comprehensive.txt @@ -0,0 +1,129 @@ +/* Comprehensive Precedence Test Cases */ + +/* Setup variables */ +x : 5; +y : 3; +z : 2; + +/* Setup functions */ +f : x -> x * 2; +g : x -> x + 1; +h : x -> x * x; + +/* 1. Basic Arithmetic Operations */ +result1 : x + y; +result2 : x - y; +result3 : x * y; +result4 : x / y; +result5 : x % y; +result6 : x ^ z; + +..out "=== Basic Arithmetic ==="; +..out result1; +..out result2; +..out result3; +..out result4; +..out result5; +..out result6; + +/* 2. Unary Operations */ +result7 : -x; +result8 : not true; + +..out "=== Unary Operations ==="; +..out result7; +..out result8; + +/* 3. Mixed Unary and Binary Operations */ +result9 : x * -y; +result10 : -x + y; +result11 : x - -y; +result12 : -x * -y; + +..out "=== Mixed Operations ==="; +..out result9; +..out result10; +..out result11; +..out result12; + +/* 4. Function Application */ +result13 : f 5; +result14 : f g 5; +result15 : f (g 5); + +..out "=== Function Application ==="; +..out result13; +..out result14; +..out result15; + +/* 5. Function Composition */ +result16 : f via g 5; +result17 : f via g via h 3; +result18 : pipe(f, g) 5; +result19 : compose(f, g) 5; + +..out "=== Function Composition ==="; +..out result16; +..out result17; +..out result18; +..out result19; + +/* 6. Comparison Operations */ +result20 : x = y; +result21 : x != y; +result22 : x < y; +result23 : x > y; +result24 : x <= y; +result25 : x >= y; + +..out "=== Comparison Operations ==="; +..out result20; +..out result21; +..out result22; +..out result23; +..out result24; +..out result25; + +/* 7. Logical Operations */ +a : true; +b : false; +result26 : a and b; +result27 : a or b; +result28 : a xor b; +result29 : not a; + +..out "=== Logical Operations ==="; +..out result26; +..out result27; +..out result28; +..out result29; + +/* 8. Complex Expressions */ +result30 : x + y * z; +result31 : (x + y) * z; +result32 : x - y + z; +result33 : x * -y + z; +result34 : f x + g y; + +..out "=== Complex Expressions ==="; +..out result30; +..out result31; +..out result32; +..out result33; +..out result34; + +/* 9. Edge Cases */ +result35 : -5; +result36 : 5 - 3; +result37 : f -5; +result38 : f 5 - 3; +result39 : f (5 - 3); + +..out "=== Edge Cases ==="; +..out result35; +..out result36; +..out result37; +..out result38; +..out result39; + +..out "=== Test Complete ==="; \ No newline at end of file |