(namespace tests.loop (test.case "while.basic-true" (def counter 0) (while (eq? counter 0) (set! counter 1)) (assert.eq! counter 1) ) (test.case "while.condition-false" (def counter 5) (while (lt? counter 0) (set! counter (+ counter 1))) (assert.eq! counter 5) ) (test.case "while.counting-loop" (def n 0) (while (lt? n 10) (set! n (+ n 1))) (assert.eq! n 10) ) (test.case "while.loop-condition-reached" (def i 0) (while (lt? i 5) (set! i (+ i 1))) (assert.eq! i 5) ) (test.case "while.nested" (def outer 0) (def inner 0) (def total 0) (while (lt? outer 3) (set! inner 0) (while (lt? inner 2) (set! total (+ total 1)) (set! inner (+ inner 1))) (set! outer (+ outer 1))) (assert.eq! total 6) ) )