diff --git a/Dynamic-Programming/FibonacciNumber.js b/Dynamic-Programming/FibonacciNumber.js index c17b894279..96a3d5a342 100644 --- a/Dynamic-Programming/FibonacciNumber.js +++ b/Dynamic-Programming/FibonacciNumber.js @@ -1,5 +1,10 @@ -// https://en.wikipedia.org/wiki/Fibonacci_number - +/** + * @function Fibonacci + * @description Fibonacci is the sum of previous two fibonacci numbers. + * @param {Integer} N - The input integer + * @return {Integer} fibonacci of N. + * @see [Fibonacci_Numbers](https://en.wikipedia.org/wiki/Fibonacci_number) + */ const fibonacci = (N) => { // creating array to store values const memo = new Array(N + 1) diff --git a/Dynamic-Programming/tests/FibonacciNumber.test.js b/Dynamic-Programming/tests/FibonacciNumber.test.js new file mode 100644 index 0000000000..03a89587a4 --- /dev/null +++ b/Dynamic-Programming/tests/FibonacciNumber.test.js @@ -0,0 +1,19 @@ +import { fibonacci } from '../FibonacciNumber' + +describe('FibonacciNumber', () => { + it('fibonacci of 0', () => { + expect(fibonacci(0)).toBe(0) + }) + + it('fibonacci of 1', () => { + expect(fibonacci(1)).toBe(1) + }) + + it('fibonacci of 10', () => { + expect(fibonacci(10)).toBe(55) + }) + + it('fibonacci of 25', () => { + expect(fibonacci(25)).toBe(75025) + }) +})