From 4c0b1a76b5cfbffc7181f13bb8b15d03455d4127 Mon Sep 17 00:00:00 2001 From: fzxutar <68406506+fzxutar@users.noreply.github.com> Date: Fri, 14 Aug 2020 19:58:40 +0800 Subject: [PATCH 1/2] test: add test for fibonacci() function --- math/fibonacci.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/math/fibonacci.cpp b/math/fibonacci.cpp index e15cfc0cc..2a79a8186 100644 --- a/math/fibonacci.cpp +++ b/math/fibonacci.cpp @@ -24,8 +24,39 @@ int fibonacci(unsigned int n) { return fibonacci(n - 1) + fibonacci(n - 2); } +/** + * Function for testing the fibonacci() function with a few + * test cases and assert statement. + */ +void test() { + int test_case_1 = fibonacci(0); + assert(test_case_1 == 0); + std::cout << "Passed Test 1!" << std::endl; + + int test_case_2 = fibonacci(1); + assert(test_case_2 == 1); + std::cout << "Passed Test 2!" << std::endl; + + int test_case_3 = fibonacci(2); + assert(test_case_3 == 1); + std::cout << "Passed Test 3!" << std::endl; + + int test_case_4 = fibonacci(3); + assert(test_case_4 == 2); + std::cout << "Passed Test 4!" << std::endl; + + int test_case_5 = fibonacci(4); + assert(test_case_5 == 3); + std::cout << "Passed Test 5!" << std::endl; + + int test_case_6 = fibonacci(15); + assert(test_case_6 == 610); + std::cout << "Passed Test 6!" << std::endl << std::endl; +} + /// Main function int main() { + test(); int n; std::cin >> n; assert(n >= 0); From cc64ca66b0cb6a25f7a820c5747b12669a538263 Mon Sep 17 00:00:00 2001 From: fzxutar <68406506+fzxutar@users.noreply.github.com> Date: Sat, 15 Aug 2020 12:51:06 +0800 Subject: [PATCH 2/2] [Updated] test: add test for fibonacci() function Fixed the errors as suggested by the author. --- math/fibonacci.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/math/fibonacci.cpp b/math/fibonacci.cpp index 2a79a8186..493523b61 100644 --- a/math/fibonacci.cpp +++ b/math/fibonacci.cpp @@ -14,7 +14,7 @@ /** * Recursively compute sequences */ -int fibonacci(unsigned int n) { +unsigned int fibonacci(unsigned int n) { /* If the input is 0 or 1 just return the same This will set the first 2 values of the sequence */ if (n <= 1) @@ -27,29 +27,30 @@ int fibonacci(unsigned int n) { /** * Function for testing the fibonacci() function with a few * test cases and assert statement. - */ -void test() { - int test_case_1 = fibonacci(0); + * @returns `void` +*/ +static void test() { + unsigned int test_case_1 = fibonacci(0); assert(test_case_1 == 0); std::cout << "Passed Test 1!" << std::endl; - int test_case_2 = fibonacci(1); + unsigned int test_case_2 = fibonacci(1); assert(test_case_2 == 1); std::cout << "Passed Test 2!" << std::endl; - int test_case_3 = fibonacci(2); + unsigned int test_case_3 = fibonacci(2); assert(test_case_3 == 1); std::cout << "Passed Test 3!" << std::endl; - int test_case_4 = fibonacci(3); + unsigned int test_case_4 = fibonacci(3); assert(test_case_4 == 2); std::cout << "Passed Test 4!" << std::endl; - int test_case_5 = fibonacci(4); + unsigned int test_case_5 = fibonacci(4); assert(test_case_5 == 3); std::cout << "Passed Test 5!" << std::endl; - int test_case_6 = fibonacci(15); + unsigned int test_case_6 = fibonacci(15); assert(test_case_6 == 610); std::cout << "Passed Test 6!" << std::endl << std::endl; }