aboutsummaryrefslogtreecommitdiff
path: root/tests/fib
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2026-05-01 18:37:38 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2026-05-01 18:42:08 +0300
commit7790e27b3423901e2080bfd3c600a65a48d42886 (patch)
treee53f3d2b01fd24ade5eff042cb5d09bd1865c540 /tests/fib
parentdbf8737fd34a0766691999e3271e9c5662ffae0d (diff)
downloadfwd-7790e27b3423901e2080bfd3c600a65a48d42886.tar.gz
fwd-7790e27b3423901e2080bfd3c600a65a48d42886.zip
start adding proper tests
Diffstat (limited to 'tests/fib')
-rw-r--r--tests/fib/fib.fwd24
-rw-r--r--tests/fib/test.mk1
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/fib/fib.fwd b/tests/fib/fib.fwd
new file mode 100644
index 0000000..e07d8af
--- /dev/null
+++ b/tests/fib/fib.fwd
@@ -0,0 +1,24 @@
+import "../../mod/libfwdio.so"
+
+fib(i64 n, (i64) res)
+{
+ if n < 2 {
+ res(1);
+ } else {
+ fib(n - 1) => i64 f1;
+ fib(n - 2) => i64 f2;
+ res(f1 + f2);
+ }
+}
+
+main()
+{
+ fib(20) => i64 n;
+ if n == 10946 {
+ fwdprint_str("OK\n");
+ } else {
+ fwdprint_str("expected 10946, got ");
+ fwdprint_i64(n);
+ fwdprint_nl();
+ }
+}
diff --git a/tests/fib/test.mk b/tests/fib/test.mk
new file mode 100644
index 0000000..3ace25e
--- /dev/null
+++ b/tests/fib/test.mk
@@ -0,0 +1 @@
+XPASS += fib