function sumOddFibonacciNumbers(num) {
let a = 0;
let b = 1;
let sum = 0;
if (num < 0) {
return "Invalid input";
} else if (num == 0) {
return sum;
} else if (num == 1) {
sum += b;
return sum;
} else {
sum += b;
while ((a + b) <= num) {
let c = a + b;
if (c % 2 !== 0) {
sum += c;
}
a = b;
b = c;
}
return sum;
}
}
/**
* Test Suite
*/
describe('sumOddFibonacciNumbers()', () => {
it('returns sum of all odd Fibonnci numbers', () => {
// arrange
const num = 10;
// act
const result = sumOddFibonacciNumbers(num);
// log
console.log("result 1: ", result);
// assert
expect(result).toBe(10);
});
it('returns sum of all odd Fibonnci numbers 2nd example', () => {
// arrange
const num = 1000;
// act
const result = sumOddFibonacciNumbers(num);
// log
console.log("result 2: ", result);
// assert
expect(result).toBe(1785);
});
});