summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/control_flow/test_loops.zc33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/control_flow/test_loops.zc b/tests/control_flow/test_loops.zc
index 9968cf5..882ae7b 100644
--- a/tests/control_flow/test_loops.zc
+++ b/tests/control_flow/test_loops.zc
@@ -131,3 +131,36 @@ test "test_range_loops_generic" {
"-> Range loops work with any integer type!";
}
+
+test "inclusive range basic" {
+ var count1 = 0
+ for i in 0..=5 {
+ count1 += 1
+ }
+ assert(count1 == 6, "Expected 6 iterations for 0..=5")
+}
+
+test "inclusive range single" {
+ var count2 = 0
+ for i in 0..=0 {
+ count2 += 1
+ }
+ assert(count2 == 1, "Expected 1 iteration for 0..=0")
+}
+
+test "inclusive range with step" {
+ var sum = 0
+ for i in 0..=10 step 2 {
+ sum += i
+ }
+ // 0, 2, 4, 6, 8, 10 -> sum = 30
+ assert(sum == 30, "Expected sum 30 for 0..=10 step 2")
+}
+
+test "exclusive range regression check" {
+ var count3 = 0
+ for i in 0..5 {
+ count3 += 1
+ }
+ assert(count3 == 5, "Expected 5 iterations for 0..5")
+}