summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-19 00:44:43 +0200
committerPaul Buetow <paul@buetow.org>2026-02-19 00:44:43 +0200
commit3ad7831662b8f4c6ffd4666169b8edebc1391e36 (patch)
treefcfc95923a9f8cd5973094b102bdee2749c7d2ec
parente1b9116c18cc3f5dae14aa99263650eca2e6a9ed (diff)
Add assert checks to break/next and loop/do examples
Replace bare say statements with assert expected == say value; so that each example self-verifies its output at runtime — matching the convention used in expressions.fy and types.fy. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-rw-r--r--examples/all-examples.txt14
-rw-r--r--examples/break_next.fy6
-rw-r--r--examples/loop_do.fy8
-rw-r--r--src/build.h2
4 files changed, 15 insertions, 15 deletions
diff --git a/examples/all-examples.txt b/examples/all-examples.txt
index 6596434..966fc52 100644
--- a/examples/all-examples.txt
+++ b/examples/all-examples.txt
@@ -38,7 +38,7 @@ while i < 10 {
i = i + 1;
if i == 5 { break; }
}
-say i; # expected: 5
+assert 5 == say i; # expected: 5
# next skips adding j when j == 3, so sum = 1+2+4+5 = 12
my sum = 0;
@@ -48,7 +48,7 @@ while j < 5 {
if j == 3 { next; }
sum = sum + j;
}
-say sum; # expected: 12
+assert 12 == say sum; # expected: 12
# break inside an until loop stops when k reaches 7
my k = 0;
@@ -56,7 +56,7 @@ until k == 10 {
k = k + 1;
if k == 7 { break; }
}
-say k; # expected: 7
+assert 7 == say k; # expected: 7
#*
* Simple examples how to write comments
@@ -269,7 +269,7 @@ loop {
i = i + 1;
if i == 5 { break; }
}
-say i; # expected: 5
+assert 5 == say i; # expected: 5
# loop with next — skips j==3, so sum = 1+2+4+5 = 12
my sum = 0;
@@ -280,21 +280,21 @@ loop {
if j == 3 { next; }
sum = sum + j;
}
-say sum; # expected: 12
+assert 12 == say sum; # expected: 12
# do...while — body runs once even though k >= 10 already
my k = 10;
do {
k = k + 1;
} while k < 10;
-say k; # expected: 11
+assert 11 == say k; # expected: 11
# do...until — stops when m reaches 5
my m = 0;
do {
m = m + 1;
} until m == 5;
-say m; # expected: 5
+assert 5 == say m; # expected: 5
#*
* Examples of how to use procedures
diff --git a/examples/break_next.fy b/examples/break_next.fy
index bd060f8..00c58e9 100644
--- a/examples/break_next.fy
+++ b/examples/break_next.fy
@@ -4,7 +4,7 @@ while i < 10 {
i = i + 1;
if i == 5 { break; }
}
-say i; # expected: 5
+assert 5 == say i; # expected: 5
# next skips adding j when j == 3, so sum = 1+2+4+5 = 12
my sum = 0;
@@ -14,7 +14,7 @@ while j < 5 {
if j == 3 { next; }
sum = sum + j;
}
-say sum; # expected: 12
+assert 12 == say sum; # expected: 12
# break inside an until loop stops when k reaches 7
my k = 0;
@@ -22,4 +22,4 @@ until k == 10 {
k = k + 1;
if k == 7 { break; }
}
-say k; # expected: 7
+assert 7 == say k; # expected: 7
diff --git a/examples/loop_do.fy b/examples/loop_do.fy
index 60cfa5a..66b7cec 100644
--- a/examples/loop_do.fy
+++ b/examples/loop_do.fy
@@ -4,7 +4,7 @@ loop {
i = i + 1;
if i == 5 { break; }
}
-say i; # expected: 5
+assert 5 == say i; # expected: 5
# loop with next — skips j==3, so sum = 1+2+4+5 = 12
my sum = 0;
@@ -15,18 +15,18 @@ loop {
if j == 3 { next; }
sum = sum + j;
}
-say sum; # expected: 12
+assert 12 == say sum; # expected: 12
# do...while — body runs once even though k >= 10 already
my k = 10;
do {
k = k + 1;
} while k < 10;
-say k; # expected: 11
+assert 11 == say k; # expected: 11
# do...until — stops when m reaches 5
my m = 0;
do {
m = m + 1;
} until m == 5;
-say m; # expected: 5
+assert 5 == say m; # expected: 5
diff --git a/src/build.h b/src/build.h
index edfddfd..aac60de 100644
--- a/src/build.h
+++ b/src/build.h
@@ -36,7 +36,7 @@
#ifndef BUILD_H
#define BUILD_H
-#define BUILDNR 9674
+#define BUILDNR 9675
#define OS_LINUX
#endif