function sumOddFibonacciNumbers(num) {
let startFib = 0;
let nextFib = 1;
let currentFib;
let sumOddFib = 0;
// Loop till the given number...
for (var i = 0; i <= num; i++)
{
currentFib = startFib + nextFib;
startFib = nextFib;
nextFib = currentFib;
// Only filter odd gentleman....
if (currentFib % 2 !== 0 && currentFib <= num)
{
sumOddFib = currentFib + sumOddFib;
}
}
return sumOddFib + 1;
}
/**
* 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);
});
});