forked from loiane/javascript-datastructures-algorithms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfibonacci.spec.js
36 lines (33 loc) · 1.11 KB
/
fibonacci.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import 'mocha';
import { expect } from 'chai';
import {
fibonacci,
fibonacciIterative,
fibonacciMemoization
} from '../../../src/js/others/fibonacci';
describe('Fibonacci', () => {
it('Fibonacci Recursive', () => {
expect(fibonacci(-1)).to.equal(0);
expect(fibonacci(0)).to.equal(0);
expect(fibonacci(1)).to.equal(1);
expect(fibonacci(2)).to.equal(1);
expect(fibonacci(3)).to.equal(2);
expect(fibonacci(4)).to.equal(3);
});
it('Fibonacci Iterative', () => {
expect(fibonacciIterative(-1)).to.equal(0);
expect(fibonacciIterative(0)).to.equal(0);
expect(fibonacciIterative(1)).to.equal(1);
expect(fibonacciIterative(2)).to.equal(1);
expect(fibonacciIterative(3)).to.equal(2);
expect(fibonacciIterative(4)).to.equal(3);
});
it('Fibonacci with Memoization', () => {
expect(fibonacciMemoization(-1)).to.equal(0);
expect(fibonacciMemoization(0)).to.equal(0);
expect(fibonacciMemoization(1)).to.equal(1);
expect(fibonacciMemoization(2)).to.equal(1);
expect(fibonacciMemoization(3)).to.equal(2);
expect(fibonacciMemoization(4)).to.equal(3);
});
});