function sumOddFibonacciNumbers(num) {
// write code here.
let lastNumber = 0;
let currentFib = 1;
// 0, 1 = 1
// 1, 1 = 2
// 1, 2 = 3
// 2, 3 = 5
let counter = 0;
while (currentFib <= num) {
if (currentFib % 2 !== 0) {
counter += currentFib;
}
currentFib += lastNumber;
lastNumber = currentFib - lastNumber;
}
return counter;
}
/**
* 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);
});
});