@@ -8,24 +8,34 @@ import {
8
8
9
9
describe ( 'Fibonacci' , ( ) => {
10
10
it ( 'should return an array of numbers for FibonacciIterative' , ( ) => {
11
- expect ( FibonacciIterative ( 5 ) ) . toEqual (
12
- expect . arrayContaining ( [ 1 , 1 , 2 , 3 , 5 ] )
11
+ expect ( FibonacciIterative ( 6 ) ) . toEqual (
12
+ expect . arrayContaining ( [ 0 , 1 , 1 , 2 , 3 , 5 , 8 ] )
13
+ )
14
+ expect ( FibonacciIterative ( - 6 ) ) . toEqual (
15
+ expect . arrayContaining ( [ 0 , 1 , - 1 , 2 , - 3 , 5 , - 8 ] )
13
16
)
14
17
} )
15
18
16
19
it ( 'should return an array of numbers for FibonacciRecursive' , ( ) => {
17
- expect ( FibonacciRecursive ( 5 ) ) . toEqual (
18
- expect . arrayContaining ( [ 1 , 1 , 2 , 3 , 5 ] )
20
+ expect ( FibonacciRecursive ( 6 ) ) . toEqual (
21
+ expect . arrayContaining ( [ 0 , 1 , 1 , 2 , 3 , 5 , 8 ] )
22
+ )
23
+ expect ( FibonacciRecursive ( - 6 ) ) . toEqual (
24
+ expect . arrayContaining ( [ 0 , 1 , - 1 , 2 , - 3 , 5 , - 8 ] )
19
25
)
20
26
} )
21
27
22
28
it ( 'should return number for FibonacciRecursiveDP' , ( ) => {
23
29
expect ( FibonacciRecursiveDP ( 5 ) ) . toBe ( 5 )
30
+ expect ( FibonacciRecursiveDP ( - 6 ) ) . toBe ( - 8 )
24
31
} )
25
32
26
33
it ( 'should return an array of numbers for FibonacciDpWithoutRecursion' , ( ) => {
27
- expect ( FibonacciDpWithoutRecursion ( 5 ) ) . toEqual (
28
- expect . arrayContaining ( [ 1 , 1 , 2 , 3 , 5 ] )
34
+ expect ( FibonacciDpWithoutRecursion ( 6 ) ) . toEqual (
35
+ expect . arrayContaining ( [ 0 , 1 , 1 , 2 , 3 , 5 , 8 ] )
36
+ )
37
+ expect ( FibonacciDpWithoutRecursion ( - 6 ) ) . toEqual (
38
+ expect . arrayContaining ( [ 0 , 1 , - 1 , 2 , - 3 , 5 , - 8 ] )
29
39
)
30
40
} )
31
41
@@ -36,5 +46,30 @@ describe('Fibonacci', () => {
36
46
expect ( FibonacciMatrixExpo ( 3 ) ) . toBe ( 2 )
37
47
expect ( FibonacciMatrixExpo ( 4 ) ) . toBe ( 3 )
38
48
expect ( FibonacciMatrixExpo ( 5 ) ) . toBe ( 5 )
49
+ expect ( FibonacciMatrixExpo ( 6 ) ) . toBe ( 8 )
50
+
51
+ expect ( FibonacciMatrixExpo ( 0n ) ) . toBe ( 0n )
52
+ expect ( FibonacciMatrixExpo ( 1n ) ) . toBe ( 1n )
53
+ expect ( FibonacciMatrixExpo ( 2n ) ) . toBe ( 1n )
54
+ expect ( FibonacciMatrixExpo ( 3n ) ) . toBe ( 2n )
55
+ expect ( FibonacciMatrixExpo ( 4n ) ) . toBe ( 3n )
56
+ expect ( FibonacciMatrixExpo ( 5n ) ) . toBe ( 5n )
57
+ expect ( FibonacciMatrixExpo ( 6n ) ) . toBe ( 8n )
58
+
59
+ expect ( FibonacciMatrixExpo ( - 0 ) ) . toBe ( - 0 )
60
+ expect ( FibonacciMatrixExpo ( - 1 ) ) . toBe ( 1 )
61
+ expect ( FibonacciMatrixExpo ( - 2 ) ) . toBe ( - 1 )
62
+ expect ( FibonacciMatrixExpo ( - 3 ) ) . toBe ( 2 )
63
+ expect ( FibonacciMatrixExpo ( - 4 ) ) . toBe ( - 3 )
64
+ expect ( FibonacciMatrixExpo ( - 5 ) ) . toBe ( 5 )
65
+ expect ( FibonacciMatrixExpo ( - 6 ) ) . toBe ( - 8 )
66
+
67
+ expect ( FibonacciMatrixExpo ( - 0n ) ) . toBe ( 0n )
68
+ expect ( FibonacciMatrixExpo ( - 1n ) ) . toBe ( 1n )
69
+ expect ( FibonacciMatrixExpo ( - 2n ) ) . toBe ( - 1n )
70
+ expect ( FibonacciMatrixExpo ( - 3n ) ) . toBe ( 2n )
71
+ expect ( FibonacciMatrixExpo ( - 4n ) ) . toBe ( - 3n )
72
+ expect ( FibonacciMatrixExpo ( - 5n ) ) . toBe ( 5n )
73
+ expect ( FibonacciMatrixExpo ( - 6n ) ) . toBe ( - 8n )
39
74
} )
40
75
} )
0 commit comments