const fibonacci = n => n === 1 ? 1 : n === 2 ? 1 : fibonacci(n-1) + fibonacci(n-2);
function sumOddFibonacciNumbers(num) {
let sum = 0;
let i = 0;
while (sum < num) {
let fib = fibonacci(++i);
sum += fib % 2 === 1 ? fib : 0;
}
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);
});
});