forked from loiane/javascript-datastructures-algorithms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfibonacci.spec.ts
34 lines (29 loc) · 1.09 KB
/
fibonacci.spec.ts
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
import 'mocha';
import { expect } from 'chai';
import { fibonacci, fibonacciIterative, fibonacciMemoization } from '../../../src/ts/index';
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);
});
});