function sumOddFibonacciNumbers(num) {
// write code here.
let fibArr = [1,1];
let sumOdd = 0;
let i = 0;
let fibNum = 0;
let nextNum = 0;
//constuct fibonacci sequence array
while(nextNum <= num) {
fibNum = fibArr[i] + fibArr[i+1];
fibArr.push(fibNum);
nextNum = fibArr[fibArr.length - 1] + fibArr[fibArr.length-2];
i++;
}
//pull out odds
for(let i =0; i<fibArr.length; i++){
if(fibArr[i] % 2 != 0){
sumOdd += fibArr[i];
}
}
return sumOdd;
}
/**
* 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);
});
});