function sumOddFibonacciNumbers(num) {
// Create fibonacci sequence based on input
let sequence = [1];
for( let i=1 ; i < num ; i = i+sequence[sequence.length-2] ){
sequence.push(i)
};
// Collect all odd number values into an array
var oddNumbers = [];
for ( let i=0 ; i < sequence.length ; i++){
if(sequence[i]%2 !== 0) {
oddNumbers.push(sequence[i]);
}
}
// Sum all values in that array
var sumOddNumbers = oddNumbers.reduce(function(a, b){
return a + b;
}, 0);
return sumOddNumbers;
}
/**
* 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);
});
});