"""
Problem 2: Even Fibonacci numbers
https://projecteuler.net/problem=2

Each new term in the Fibonacci sequence is generated by adding the previous two terms.
By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
By considering the terms in the Fibonacci sequence whose values do not exceed four million,
find the sum of the even-valued terms.
"""


def test_fibonacci_numbers():
    # arrange
    from src.p002_even_fibonacci_numbers import fibonacci_numbers

    # act
    expected_fibonacci_numbers = [1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
    fibonacci_numbers_generator = fibonacci_numbers()
    for expected_fib in expected_fibonacci_numbers:
        # assert
        assert next(fibonacci_numbers_generator) == expected_fib

"""
Problem 2: Even Fibonacci numbers
https://projecteuler.net/problem=2

Each new term in the Fibonacci sequence is generated by adding the previous two terms.
By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
By considering the terms in the Fibonacci sequence whose values do not exceed four million,
find the sum of the even-valued terms.
"""


def test_fibonacci_numbers():
    # arrange
    from src.p002_even_fibonacci_numbers import fibonacci_numbers

    # act
    expected_fibonacci_numbers = [1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
    fibonacci_numbers_generator = fibonacci_numbers()
    for expected_fib in expected_fibonacci_numbers:
        # assert
        assert next(fibonacci_numbers_generator) == expected_fib

Problem 2: Even Fibonacci numbers https://projecteuler.net/problem=2  Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms. # arrange # act # assert