about summary refs log tree commit diff
path: root/tests/unit/api
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/api')
-rw-r--r--tests/unit/api/test_rqtl2.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/unit/api/test_rqtl2.py b/tests/unit/api/test_rqtl2.py
new file mode 100644
index 0000000..fbd0d25
--- /dev/null
+++ b/tests/unit/api/test_rqtl2.py
@@ -0,0 +1,35 @@
+import pytest
+from gn3.api.rqtl2 import fibonacci
+
+def test_fibonacci_zero():
+    assert fibonacci(0) == 0
+
+def test_fibonacci_one():
+    assert fibonacci(1) == 1
+
+def test_fibonacci_ten():
+    assert fibonacci(10) == 55
+
+def test_fibonacci_negative():
+    with pytest.raises(ValueError) as excinfo:
+        fibonacci(-1)
+    assert "non-negative integer" in str(excinfo.value)
+
+def test_fibonacci_non_integer():
+    with pytest.raises(ValueError) as excinfo:
+        fibonacci(5.5)
+    assert "non-negative integer" in str(excinfo.value)
+
+def test_fibonacci_large():
+    assert fibonacci(20) == 6765
+
+@pytest.mark.parametrize("n, expected", [
+    (2, 1),
+    (3, 2),
+    (4, 3),
+    (5, 5),
+    (6, 8),
+    (7, 13),
+])
+def test_fibonacci_multiple(n, expected):
+    assert fibonacci(n) == expected