about summary refs log tree commit diff stats
path: root/js/scripting-lang/scratch_tests/test_first_part.txt
diff options
context:
space:
mode:
Diffstat (limited to 'js/scripting-lang/scratch_tests/test_first_part.txt')
-rw-r--r--js/scripting-lang/scratch_tests/test_first_part.txt48
1 files changed, 48 insertions, 0 deletions
diff --git a/js/scripting-lang/scratch_tests/test_first_part.txt b/js/scripting-lang/scratch_tests/test_first_part.txt
new file mode 100644
index 0000000..61b2da1
--- /dev/null
+++ b/js/scripting-lang/scratch_tests/test_first_part.txt
@@ -0,0 +1,48 @@
+/* Test first part of enhanced case statements */
+
+/* ===== FIZZBUZZ IMPLEMENTATION ===== */
+
+/* Classic FizzBuzz using multi-value patterns with expressions */
+fizzbuzz : n ->
+  when (n % 3) (n % 5) is
+    0 0 then "FizzBuzz"
+    0 _ then "Fizz"
+    _ 0 then "Buzz"
+    _ _ then n;
+
+/* Test FizzBuzz implementation */
+fizzbuzz_15 : fizzbuzz 15;  /* Should be "FizzBuzz" */
+fizzbuzz_3 : fizzbuzz 3;    /* Should be "Fizz" */
+fizzbuzz_5 : fizzbuzz 5;    /* Should be "Buzz" */
+fizzbuzz_7 : fizzbuzz 7;    /* Should be 7 */
+
+/* ===== TABLE ACCESS IN WHEN EXPRESSIONS ===== */
+
+/* User data for testing */
+admin_user : {role: "admin", level: 5, name: "Alice"};
+user_user : {role: "user", level: 2, name: "Bob"};
+guest_user : {role: "guest", level: 0, name: "Charlie"};
+
+/* Access control using table access in patterns */
+access_level : user ->
+  when user.role is
+    "admin" then "full access"
+    "user" then "limited access"
+    _ then "no access";
+
+/* Test access control */
+admin_access : access_level admin_user;
+user_access : access_level user_user;
+guest_access : access_level guest_user;
+
+/* Output results */
+..out "FizzBuzz Results:";
+..out fizzbuzz_15;
+..out fizzbuzz_3;
+..out fizzbuzz_5;
+..out fizzbuzz_7;
+
+..out "Access Control Results:";
+..out admin_access;
+..out user_access;
+..out guest_access; 
\ No newline at end of file
d=53cd61546dc798fc0f08baf0813f579a90d7e766'>^
7e356f6ef ^
ddaedab83 ^
4d4b3b1c0 ^
9dda24e47 ^
ddaedab83 ^
765366c1f ^
ddaedab83 ^
765366c1f ^
ddaedab83 ^
eca05d2a3 ^
765366c1f ^

eca05d2a3 ^
765366c1f ^

eca05d2a3 ^
cd292568d ^



ddaedab83 ^

ddaedab83 ^
4d4b3b1c0 ^


0117f494e ^
ddaedab83 ^
4d4b3b1c0 ^
c9d5c8268 ^
4d4b3b1c0 ^







4d4b3b1c0 ^







ddaedab83 ^
4d4b3b1c0 ^
e792940f5 ^





ddaedab83 ^

765366c1f ^

cd292568d ^
90119066a ^
e792940f5 ^
033c28f11 ^
cd292568d ^
4d4b3b1c0 ^
ddaedab83 ^
4d4b3b1c0 ^

ddaedab83 ^
4d4b3b1c0 ^


ddaedab83 ^

becd46f61 ^
ddaedab83 ^




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111