summaryrefslogtreecommitdiff
path: root/tests/control_flow
diff options
context:
space:
mode:
Diffstat (limited to 'tests/control_flow')
-rw-r--r--tests/control_flow/test_computed_goto.zc4
-rw-r--r--tests/control_flow/test_goto.zc4
-rw-r--r--tests/control_flow/test_guard_unless.zc12
-rw-r--r--tests/control_flow/test_if.zc6
-rw-r--r--tests/control_flow/test_labeled_break.zc4
-rw-r--r--tests/control_flow/test_loop_edge_cases.zc16
-rw-r--r--tests/control_flow/test_loops.zc46
-rw-r--r--tests/control_flow/test_match.zc34
-rw-r--r--tests/control_flow/test_ternary.zc8
9 files changed, 67 insertions, 67 deletions
diff --git a/tests/control_flow/test_computed_goto.zc b/tests/control_flow/test_computed_goto.zc
index 12b484c..7144132 100644
--- a/tests/control_flow/test_computed_goto.zc
+++ b/tests/control_flow/test_computed_goto.zc
@@ -1,9 +1,9 @@
test "test_computed_goto" -> int {
- var x = 0;
+ let x = 0;
// Get address of label using && unary operator
- var target = &&label_B;
+ let target = &&label_B;
// Jump to label A first
goto label_A;
diff --git a/tests/control_flow/test_goto.zc b/tests/control_flow/test_goto.zc
index 9a90139..dc6ab98 100644
--- a/tests/control_flow/test_goto.zc
+++ b/tests/control_flow/test_goto.zc
@@ -1,6 +1,6 @@
test "test_goto" -> int {
- var x = 0;
+ let x = 0;
goto skip;
x = 100;
@@ -8,7 +8,7 @@ test "test_goto" -> int {
skip:
assert x == 0;
- var resource = 1;
+ let resource = 1;
if resource == 1 {
goto cleanup;
diff --git a/tests/control_flow/test_guard_unless.zc b/tests/control_flow/test_guard_unless.zc
index d759551..5d58c82 100644
--- a/tests/control_flow/test_guard_unless.zc
+++ b/tests/control_flow/test_guard_unless.zc
@@ -17,7 +17,7 @@ test "test_guard_unless" {
println "Testing guard and unless...";
// Unless with true condition (should NOT enter block)
- var res1 = check_positive(10);
+ let res1 = check_positive(10);
if (res1 == 20) {
println " -> unless (pass condition): Passed";
} else {
@@ -26,7 +26,7 @@ test "test_guard_unless" {
}
// Unless with false condition (should enter block)
- var res2 = check_positive(-5);
+ let res2 = check_positive(-5);
if (res2 == -1) {
println " -> unless (fail condition): Passed";
} else {
@@ -35,9 +35,9 @@ test "test_guard_unless" {
}
// Guard with valid pointer
- var val = 42;
- var p = &val;
- var res3 = safe_access(p);
+ let val = 42;
+ let p = &val;
+ let res3 = safe_access(p);
if (res3 == 42) {
println " -> guard (valid ptr): Passed";
} else {
@@ -46,7 +46,7 @@ test "test_guard_unless" {
}
// Guard with null pointer
- var res4 = safe_access(NULL);
+ let res4 = safe_access(NULL);
if (res4 == -999) {
println " -> guard (null ptr): Passed";
} else {
diff --git a/tests/control_flow/test_if.zc b/tests/control_flow/test_if.zc
index 463405a..ed0f43d 100644
--- a/tests/control_flow/test_if.zc
+++ b/tests/control_flow/test_if.zc
@@ -1,10 +1,10 @@
test "test_if" {
- var x = 10;
+ let x = 10;
if (x > 5) {
printf("X is big\n");
- var y = x * 2;
+ let y = x * 2;
if (y > 15) {
printf("Y is very big\n");
}
@@ -12,7 +12,7 @@ test "test_if" {
printf("X is small\n");
}
- var i = 0;
+ let i = 0;
while (i < 3) {
println "Loop {i}";
i++;
diff --git a/tests/control_flow/test_labeled_break.zc b/tests/control_flow/test_labeled_break.zc
index 1900a99..f5ae5c0 100644
--- a/tests/control_flow/test_labeled_break.zc
+++ b/tests/control_flow/test_labeled_break.zc
@@ -1,7 +1,7 @@
test "test_labeled_break" -> int {
// Test basic goto-based loop exit
- var result = 0;
+ let result = 0;
for i in 0..10 {
for j in 0..10 {
@@ -16,7 +16,7 @@ done_search:
assert result == 3;
// Test do-while
- var x = 0;
+ let x = 0;
do {
x++;
} while x < 3;
diff --git a/tests/control_flow/test_loop_edge_cases.zc b/tests/control_flow/test_loop_edge_cases.zc
index b5ab0ce..5bd8b07 100644
--- a/tests/control_flow/test_loop_edge_cases.zc
+++ b/tests/control_flow/test_loop_edge_cases.zc
@@ -3,7 +3,7 @@ test "test_loop_edge_cases" {
println "Testing loop edge cases...";
// Empty range (0..0 should not iterate)
- var count1 = 0;
+ let count1 = 0;
for i in 0..0 {
count1++;
}
@@ -15,7 +15,7 @@ test "test_loop_edge_cases" {
}
// Single iteration range (0..1)
- var count2 = 0;
+ let count2 = 0;
for i in 0..1 {
count2++;
}
@@ -27,7 +27,7 @@ test "test_loop_edge_cases" {
}
// Repeat 0 times (should not execute)
- var count3 = 0;
+ let count3 = 0;
repeat 0 {
count3++;
}
@@ -39,7 +39,7 @@ test "test_loop_edge_cases" {
}
// Repeat 1 time
- var count4 = 0;
+ let count4 = 0;
repeat 1 {
count4++;
}
@@ -51,7 +51,7 @@ test "test_loop_edge_cases" {
}
// Nested loops
- var total = 0;
+ let total = 0;
for i in 0..3 {
for j in 0..2 {
total = total + 1;
@@ -65,10 +65,10 @@ test "test_loop_edge_cases" {
}
// Break in nested loop
- var outer_count = 0;
+ let outer_count = 0;
for i in 0..3 {
outer_count = outer_count + 1;
- var inner_done = 0;
+ let inner_done = 0;
loop {
inner_done = inner_done + 1;
if (inner_done >= 2) {
@@ -84,7 +84,7 @@ test "test_loop_edge_cases" {
}
// Large step value
- var count7 = 0;
+ let count7 = 0;
for i in 0..100 step 25 {
count7++;
}
diff --git a/tests/control_flow/test_loops.zc b/tests/control_flow/test_loops.zc
index 60ccc50..64579d3 100644
--- a/tests/control_flow/test_loops.zc
+++ b/tests/control_flow/test_loops.zc
@@ -3,7 +3,7 @@ test "test_loops" {
println "Testing loop constructs...";
// for-in range
- var sum1 = 0;
+ let sum1 = 0;
for i in 0..5 {
sum1 += i;
}
@@ -11,7 +11,7 @@ test "test_loops" {
println " -> for-in range (0..5): Passed";
// for-in with step
- var sum2 = 0;
+ let sum2 = 0;
for i in 0..10 step 2 {
sum2 += i;
}
@@ -19,7 +19,7 @@ test "test_loops" {
println " -> for-in with step: Passed";
// Repeat n times
- var count = 0;
+ let count = 0;
repeat 7 {
count++;
}
@@ -27,7 +27,7 @@ test "test_loops" {
println " -> repeat 7: Passed";
// loop with break
- var i = 0;
+ let i = 0;
loop {
i++;
if (i >= 5) {
@@ -38,7 +38,7 @@ test "test_loops" {
println " -> loop with break: Passed";
// While loop
- var j = 0;
+ let j = 0;
while j < 3 {
j++;
}
@@ -46,16 +46,16 @@ test "test_loops" {
println " -> while loop: Passed";
// C-style for loop
- var sum3 = 0;
- for (var k = 0; k < 4; k = k + 1) {
+ let sum3 = 0;
+ for (let k = 0; k < 4; k = k + 1) {
sum3 += k;
}
assert(sum3 == 6, "C-style for loop failed");
println " -> C-style for loop: Passed";
// loop with continue
- var sum4 = 0;
- var m = 0;
+ let sum4 = 0;
+ let m = 0;
loop {
m++;
if (m == 3) {
@@ -76,7 +76,7 @@ test "test_loops" {
}
fn print_nums(list: [int]) {
- var i = 0;
+ let i = 0;
while (i < list.len) {
println "Num: {list.data[i]}";
i++;
@@ -85,12 +85,12 @@ fn print_nums(list: [int]) {
test "test_arrays_loop" {
// Array literal transformation
- var nums: [int] = [10, 20, 30];
+ let nums: [int] = [10, 20, 30];
print_nums(nums);
}
test "test_do_while" {
- var x = 0;
+ let x = 0;
// Basic do-while (runs at least once)
do {
@@ -100,7 +100,7 @@ test "test_do_while" {
assert(x == 5, "do-while x expected 5");
// Do-while with false condition (still runs once)
- var y = 0;
+ let y = 0;
do {
y = 100;
} while false;
@@ -112,17 +112,17 @@ test "test_range_loops_generic" {
println "Testing range loops with different types...";
// Test with isize variables
- var sum_isize: isize = 0;
- var start: isize = 0;
- var end: isize = 5;
- for var i: isize = start; i < end; i++ {
+ let sum_isize: isize = 0;
+ let start: isize = 0;
+ let end: isize = 5;
+ for let i: isize = start; i < end; i++ {
sum_isize += i;
}
println "isize range (0..5): sum = {sum_isize}";
assert(sum_isize == 10, "isize range failed");
// Test with regular int
- var sum_int = 0;
+ let sum_int = 0;
for i in 0..5 {
sum_int += i;
}
@@ -133,7 +133,7 @@ test "test_range_loops_generic" {
}
test "inclusive range basic" {
- var count1 = 0
+ let count1 = 0
for i in 0..=5 {
count1 += 1
}
@@ -141,7 +141,7 @@ test "inclusive range basic" {
}
test "inclusive range single" {
- var count2 = 0
+ let count2 = 0
for i in 0..=0 {
count2 += 1
}
@@ -149,7 +149,7 @@ test "inclusive range single" {
}
test "inclusive range with step" {
- var sum = 0
+ let sum = 0
for i in 0..=10 step 2 {
sum += i
}
@@ -158,7 +158,7 @@ test "inclusive range with step" {
}
test "exclusive range regression check" {
- var count3 = 0
+ let count3 = 0
for i in 0..5 {
count3 += 1
}
@@ -166,7 +166,7 @@ test "exclusive range regression check" {
}
test "explicit exclusive range (..<)" {
- var count4 = 0
+ let count4 = 0
for i in 0..<5 {
count4 += 1
}
diff --git a/tests/control_flow/test_match.zc b/tests/control_flow/test_match.zc
index ca185ae..00c62e3 100644
--- a/tests/control_flow/test_match.zc
+++ b/tests/control_flow/test_match.zc
@@ -35,7 +35,7 @@ test "test_match" {
println "Testing match expressions...";
// Match with exact value (0)
- var res1 = classify_number(0);
+ let res1 = classify_number(0);
if (res1 == 100) {
println " -> match 0: Passed";
} else {
@@ -44,7 +44,7 @@ test "test_match" {
}
// Match with exact value (1)
- var res2 = classify_number(1);
+ let res2 = classify_number(1);
if (res2 == 200) {
println " -> match 1: Passed";
} else {
@@ -53,7 +53,7 @@ test "test_match" {
}
// Match with exact value (2)
- var res3 = classify_number(2);
+ let res3 = classify_number(2);
if (res3 == 300) {
println " -> match 2: Passed";
} else {
@@ -62,7 +62,7 @@ test "test_match" {
}
// Match with default case
- var res4 = classify_number(99);
+ let res4 = classify_number(99);
if (res4 == -1) {
println " -> match default: Passed";
} else {
@@ -71,7 +71,7 @@ test "test_match" {
}
// Match with complex body (zero)
- var sign1 = get_sign(0);
+ let sign1 = get_sign(0);
if (strcmp(sign1, "zero") == 0) {
println " -> match complex (zero): Passed";
} else {
@@ -80,7 +80,7 @@ test "test_match" {
}
// Match with complex body (positive)
- var sign2 = get_sign(42);
+ let sign2 = get_sign(42);
if (strcmp(sign2, "positive") == 0) {
println " -> match complex (positive): Passed";
} else {
@@ -89,7 +89,7 @@ test "test_match" {
}
// Match with complex body (negative)
- var sign3 = get_sign(-10);
+ let sign3 = get_sign(-10);
if (strcmp(sign3, "negative") == 0) {
println " -> match complex (negative): Passed";
} else {
@@ -98,8 +98,8 @@ test "test_match" {
}
// OR pattern with ||
- var or1 = classify_extended(1);
- var or2 = classify_extended(2);
+ let or1 = classify_extended(1);
+ let or2 = classify_extended(2);
if (or1 == 100 && or2 == 100) {
println " -> match OR (||): Passed";
} else {
@@ -108,8 +108,8 @@ test "test_match" {
}
// OR pattern with 'or'
- var or3 = classify_extended(3);
- var or4 = classify_extended(4);
+ let or3 = classify_extended(3);
+ let or4 = classify_extended(4);
if (or3 == 200 && or4 == 200) {
println " -> match OR (or): Passed";
} else {
@@ -118,9 +118,9 @@ test "test_match" {
}
// Range exclusive (5..8 matches 5, 6, 7)
- var r5 = classify_extended(5);
- var r7 = classify_extended(7);
- var r8 = classify_extended(8); // Should NOT match
+ let r5 = classify_extended(5);
+ let r7 = classify_extended(7);
+ let r8 = classify_extended(8); // Should NOT match
if (r5 == 300 && r7 == 300 && r8 == -1) {
println " -> match range exclusive: Passed";
} else {
@@ -129,9 +129,9 @@ test "test_match" {
}
// Range inclusive (10..=15 matches 10-15)
- var r10 = classify_extended(10);
- var r15 = classify_extended(15);
- var r16 = classify_extended(16); // Should NOT match
+ let r10 = classify_extended(10);
+ let r15 = classify_extended(15);
+ let r16 = classify_extended(16); // Should NOT match
if (r10 == 400 && r15 == 400 && r16 == -1) {
println " -> match range inclusive: Passed";
} else {
diff --git a/tests/control_flow/test_ternary.zc b/tests/control_flow/test_ternary.zc
index cfac28b..39f066f 100644
--- a/tests/control_flow/test_ternary.zc
+++ b/tests/control_flow/test_ternary.zc
@@ -5,8 +5,8 @@ enum Result {
}
fn test_unwrap() -> Result {
- var res = Result_Ok(42);
- var val = res?;
+ let res = Result_Ok(42);
+ let val = res?;
if (val == 42) println " Unwrap: Success";
else println " Unwrap: Failed";
return res;
@@ -16,7 +16,7 @@ test "test_ternary" {
println "Testing Ternary...";
// Simple Ternary
- var x = 1 ? 10 : 20;
+ let x = 1 ? 10 : 20;
if (x == 10) println " Simple Ternary: Success";
else println " Simple Ternary: Failed";
@@ -25,6 +25,6 @@ test "test_ternary" {
// Ambiguity / Precredence
// 1 ? 2 : 3
- var y = 0 ? 100 : 200;
+ let y = 0 ? 100 : 200;
if (y == 200) println " False Branch: Success";
}