owa-rs/modules/core/tests/loop.owa
2026-05-06 12:21:06 +03:00

42 lines
845 B
Text

(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)
)
)