function sumOddFibonacciNumbers(num) {
let fibs = [0, 1];
let newFib = 0;
let total = 1;
while (num) {
newFib = fibs[1] + fibs[0];
if (newFib > num) break;
fibs[0] = fibs[1];
fibs[1] = newFib;
if (newFib % 2) {
total += newFib;
}
}
return total;
}
/**
* 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);
});
});