summaryrefslogtreecommitdiff
path: root/src/tests/tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/tests.cpp')
-rw-r--r--src/tests/tests.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/tests/tests.cpp b/src/tests/tests.cpp
index e69de29..d1a037b 100644
--- a/src/tests/tests.cpp
+++ b/src/tests/tests.cpp
@@ -0,0 +1,16 @@
+#include <catch2/benchmark/catch_benchmark.hpp>
+#include <catch2/catch_test_macros.hpp>
+
+#include <cstdint>
+
+uint64_t fibonacci(uint64_t number) { return number < 2 ? number : fibonacci(number - 1) + fibonacci(number - 2); }
+
+TEST_CASE("Benchmark Fibonacci", "[fibonacci]") {
+ REQUIRE(fibonacci(5) == 5);
+
+ REQUIRE(fibonacci(20) == 6'765);
+ BENCHMARK("fibonacci 20") { return fibonacci(20); };
+
+ REQUIRE(fibonacci(25) == 75'025);
+ BENCHMARK("fibonacci 25") { return fibonacci(25); };
+}