From 0188991f4dcb7b9e978312dc1739c3bf68aab857 Mon Sep 17 00:00:00 2001 From: samsonium Date: Thu, 22 Oct 2026 03:39:04 +0300 Subject: [PATCH] feat: add new tests for loops --- tests/programs/neg_infinite_for.fzs | 3 +++ tests/programs/neg_infinite_while.fzs | 3 +++ tests/programs/pos_loop_with_break.fzs | 7 +++++++ tests/programs/pos_loops.fzs | 27 ++++++++++++++++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 tests/programs/neg_infinite_for.fzs create mode 100644 tests/programs/neg_infinite_while.fzs create mode 100644 tests/programs/pos_loop_with_break.fzs create mode 100644 tests/programs/pos_loops.fzs diff --git a/tests/programs/neg_infinite_for.fzs b/tests/programs/neg_infinite_for.fzs new file mode 100644 index 0000000..1de7327 --- /dev/null +++ b/tests/programs/neg_infinite_for.fzs @@ -0,0 +1,3 @@ +for (int i = 0; i < 5; i = i - 1) +{} + diff --git a/tests/programs/neg_infinite_while.fzs b/tests/programs/neg_infinite_while.fzs new file mode 100644 index 0000000..59c1072 --- /dev/null +++ b/tests/programs/neg_infinite_while.fzs @@ -0,0 +1,3 @@ +while (true) +{} + diff --git a/tests/programs/pos_loop_with_break.fzs b/tests/programs/pos_loop_with_break.fzs new file mode 100644 index 0000000..a19f1a3 --- /dev/null +++ b/tests/programs/pos_loop_with_break.fzs @@ -0,0 +1,7 @@ +int i = 0; + +for (;;) +{ + break; +} + diff --git a/tests/programs/pos_loops.fzs b/tests/programs/pos_loops.fzs new file mode 100644 index 0000000..f126742 --- /dev/null +++ b/tests/programs/pos_loops.fzs @@ -0,0 +1,27 @@ +for (int i = 0; i < 10; i = i + 1) + printline("check"); + +int i = 0; +for (i = 0; i <= 5; i = i + 1) +{ + printline("i is:"); + printline(i); +} + +if (i < 5) +{ + printline("external declared `i` != 5"); + exit(1); +} + +while (i > 0) +{ + i = i - 1; +} + +if (i > 0) +{ + printline("decreased in while loop `i` > 0"); + exit(1); +} +