summaryrefslogtreecommitdiff
path: root/src/tests/tests.cpp
blob: d1a037bd13459dfe1682fec629c18f539c798cd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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); };
}