diff --git a/fibonacci/README.md b/10_fibonacci/README.md similarity index 100% rename from fibonacci/README.md rename to 10_fibonacci/README.md diff --git a/10_fibonacci/fibonacci.js b/10_fibonacci/fibonacci.js new file mode 100644 index 0000000..bb2c8cc --- /dev/null +++ b/10_fibonacci/fibonacci.js @@ -0,0 +1,6 @@ +const fibonacci = function() { + +}; + +// Do not edit below this line +module.exports = fibonacci; diff --git a/fibonacci/fibonacci.spec.js b/10_fibonacci/fibonacci.spec.js similarity index 100% rename from fibonacci/fibonacci.spec.js rename to 10_fibonacci/fibonacci.spec.js diff --git a/fibonacci/fibonacci.js b/10_fibonacci/solution/fibonacci-solution.js similarity index 89% rename from fibonacci/fibonacci.js rename to 10_fibonacci/solution/fibonacci-solution.js index 4a75359..81ccaf2 100644 --- a/fibonacci/fibonacci.js +++ b/10_fibonacci/solution/fibonacci-solution.js @@ -1,4 +1,4 @@ -const fibonacci = function(count) { +const fibonacci = function (count) { if (count < 0) return "OOPS"; if (count === 0) return 0; let a = 0; diff --git a/10_fibonacci/solution/fibonacci-solution.spec.js b/10_fibonacci/solution/fibonacci-solution.spec.js new file mode 100644 index 0000000..89de463 --- /dev/null +++ b/10_fibonacci/solution/fibonacci-solution.spec.js @@ -0,0 +1,31 @@ +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("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); + }); +});