3256f980b0
Previous Fibonacci solution didn't use arrays, and since this is an array-heavy section, it seemed better to have that be the method here. Also, it accounts for entering 0 as an argument without having to add any extra code, which takes care of some currently open issues. Issues #192 and #236 are about the same thing. I added a test for that as well.
34 lines
941 B
JavaScript
34 lines
941 B
JavaScript
const fibonacci = require('./fibonacci-solution');
|
|
|
|
describe('fibonacci', () => {
|
|
test('4th fibonacci number is 3', () => {
|
|
expect(fibonacci(4)).toBe(3);
|
|
});
|
|
test('6th fibonacci number is 8', () => {
|
|
expect(fibonacci(6)).toBe(8);
|
|
});
|
|
test('10th fibonacci number is 55', () => {
|
|
expect(fibonacci(10)).toBe(55);
|
|
});
|
|
test('15th fibonacci number is 610', () => {
|
|
expect(fibonacci(15)).toBe(610);
|
|
});
|
|
test('25th fibonacci number is 75025', () => {
|
|
expect(fibonacci(25)).toBe(75025);
|
|
});
|
|
test('0th fibonacci number is o', () => {
|
|
expect(fibonacci(0)).toBe(0);
|
|
});
|
|
test("doesn't accept negatives", () => {
|
|
expect(fibonacci(-25)).toBe('OOPS');
|
|
});
|
|
test('DOES accept strings', () => {
|
|
expect(fibonacci('1')).toBe(1);
|
|
});
|
|
test('DOES accept strings', () => {
|
|
expect(fibonacci('2')).toBe(1);
|
|
});
|
|
test('DOES accept strings', () => {
|
|
expect(fibonacci('8')).toBe(21);
|
|
});
|
|
});
|