function sumOddFibonacciNumbers(num) {
// write code here.
let arrayFib = [1,1,2];
let total = 0;
do {
arrayFib.push(arrayFib[arrayFib.length - 1] + arrayFib[arrayFib.length - 2]);
} while (arrayFib[arrayFib.length - 1] <= num);
for(let i = 0; i < arrayFib.length; i++) {
if(arrayFib[i] <= num && arrayFib[i] % 2 !== 0) {
// console.log(`test ${arrayFib[i]}`);
total += arrayFib[i];
}
}
// console.log(arrayFib);
// console.log(total);
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);
});
});