fibonacci all test passing

This commit is contained in:
abduldoesramen 2023-07-07 10:56:36 +10:00
parent b5b3a35ff2
commit 0e16261d32
2 changed files with 23 additions and 9 deletions

View File

@ -1,5 +1,19 @@
const fibonacci = function() {
const fibonacci = function (findNum) {
/* Perform checks to validate input */
if (findNum === 0 || findNum === 1) {
return 1;
} else if (findNum < 0) {
return "OOPS";
} else if (typeof findNum === "string") {
findNum = Number(findNum)
}
const fibArray = [1, 1];
for (i = 2; i < findNum; i++) {
fibArray.push(fibArray[i-1] + fibArray[i-2])
}
return fibArray[findNum - 1]
};
// Do not edit below this line

View File

@ -4,28 +4,28 @@ describe('fibonacci', () => {
test('4th fibonacci number is 3', () => {
expect(fibonacci(4)).toBe(3);
});
test.skip('6th fibonacci number is 8', () => {
test('6th fibonacci number is 8', () => {
expect(fibonacci(6)).toBe(8);
});
test.skip('10th fibonacci number is 55', () => {
test('10th fibonacci number is 55', () => {
expect(fibonacci(10)).toBe(55);
});
test.skip('15th fibonacci number is 610', () => {
test('15th fibonacci number is 610', () => {
expect(fibonacci(15)).toBe(610);
});
test.skip('25th fibonacci number is 75025', () => {
test('25th fibonacci number is 75025', () => {
expect(fibonacci(25)).toBe(75025);
});
test.skip('doesn\'t accept negatives', () => {
test('doesn\'t accept negatives', () => {
expect(fibonacci(-25)).toBe("OOPS");
});
test.skip('DOES accept strings', () => {
test('DOES accept strings', () => {
expect(fibonacci("1")).toBe(1);
});
test.skip('DOES accept strings', () => {
test('DOES accept strings', () => {
expect(fibonacci("2")).toBe(1);
});
test.skip('DOES accept strings', () => {
test('DOES accept strings', () => {
expect(fibonacci("8")).toBe(21);
});
});