function sumOddFibonacciNumbers(num) {
// write code here.
const fibNumbers = [];
let previousFirst = 0;
let previousSecond = 1;
let next = 1;
for (next; next < num ; next + previousFirst){
fibNumbers.push(next);
next = previousFirst + previousSecond;
previousFirst = previousSecond;
previousSecond = next;
}
console.log(fibNumbers);
const oddNumbers = fibNumbers.filter(number => {
return number % 2 !== 0;
});
const sum = oddNumbers.reduce((total, number) => {
return total += number;
}, 0);
return sum;
}
/**
* 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);
});
});