diff --git a/foundations/object_basics/03_fibonacci/README.md b/foundations/object_basics/03_fibonacci/README.md index 35053046c39..70b24207c23 100644 --- a/foundations/object_basics/03_fibonacci/README.md +++ b/foundations/object_basics/03_fibonacci/README.md @@ -1,6 +1,6 @@ # Exercise 03 - Fibonacci -Create a function that returns a specific member of the Fibonacci sequence (series of numbers in which each number is the sum of the two preceding numbers). To learn more about Fibonacci sequences, go to: https://en.wikipedia.org/wiki/Fibonacci_sequence +Create a function that returns a specific member of the Fibonacci sequence (series of numbers in which each number is the sum of the two preceding numbers). To learn more about Fibonacci sequences, go to: In this exercise, the Fibonacci sequence used is 1, 1, 2, 3, 5, 8, etc. (i.e. starting at 1, not 0): @@ -9,4 +9,4 @@ fibonacci(4); // returns the 4th member of the series: 3 (1, 1, 2, 3) fibonacci(6); // returns 8 ``` -If given a negative number, `NaN`, or not a number type at all, the function should return `"OOPS"`, i.e. only proceed with positive numbers. +If given 0, a negative number, `NaN`, or not a number type at all, the function should return `"OOPS"`, i.e. only proceed with positive numbers. diff --git a/foundations/object_basics/03_fibonacci/fibonacci.spec.js b/foundations/object_basics/03_fibonacci/fibonacci.spec.js index 8f2df2301e9..297f2db69db 100644 --- a/foundations/object_basics/03_fibonacci/fibonacci.spec.js +++ b/foundations/object_basics/03_fibonacci/fibonacci.spec.js @@ -16,8 +16,8 @@ describe('fibonacci', () => { test.skip('25th fibonacci number is 75025', () => { expect(fibonacci(25)).toBe(75025); }); - test.skip('0th fibonacci number is 0', () => { - expect(fibonacci(0)).toBe(0); + test.skip('doesn\'t accept 0', () => { + expect(fibonacci(0)).toBe("OOPS"); }); test.skip('doesn\'t accept negatives', () => { expect(fibonacci(-25)).toBe("OOPS"); diff --git a/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.js b/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.js index 642c8cbc532..d4a7609ec8d 100644 --- a/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.js +++ b/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.js @@ -1,13 +1,9 @@ const fibonacci = function(count) { // checks argument's type and makes sure we use - // a number throughout rest of function. - if (typeof count !== 'number' || count < 0 || Number.isNaN(count)) { + // a positive number throughout rest of function. + if (typeof count !== 'number' || count <= 0 || Number.isNaN(count)) { return "OOPS"; } - - if (count === 0) { - return 0; - } let firstPrev = 1; let secondPrev = 0; diff --git a/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.spec.js b/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.spec.js index 15338c71e63..126529f31d7 100644 --- a/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.spec.js +++ b/foundations/object_basics/03_fibonacci/solution/fibonacci-solution.spec.js @@ -16,8 +16,8 @@ describe('fibonacci', () => { test('25th fibonacci number is 75025', () => { expect(fibonacci(25)).toBe(75025); }); - test('0th fibonacci number is 0', () => { - expect(fibonacci(0)).toBe(0); + test('doesn\'t accept 0', () => { + expect(fibonacci(0)).toBe("OOPS"); }); test('doesn\'t accept negatives', () => { expect(fibonacci(-25)).toBe("OOPS");