class testProblem2(unittest.TestCase): def setUp(self): self.fib = Fibonacci(1,2).generate() self.fib_number = [1,2,3,5,8,13,21,34,55,89] def testFibonacci(self): for number in range(0,len(self.fib_number)): self.assertEquals(self.fib.next(),self.fib_number[number]) def testSumOfEvenValue(self): self.__first = 1 self.__second = 2 self.assertEqual(Problem2(self.__first,self.__second).SumOfEvenValue(10),10) self.assertEqual(Problem2(self.__first,self.__second).SumOfEvenValue(100),44)
class Problem2(object): def __init__(self,first,second): self.__first = first self.__second = second self.__answer = 0 def SumOfEvenValue(self,maxValue): self.__maxValue = maxValue self.__fib = Fibonacci(self.__first,self.__second).generate() while True: self.__fib_Value = self.__fib.next() if(self.__fib_Value <= self.__maxValue): if((self.__fib_Value % 2) == 0): self.__answer += self.__fib_Value else: break return self.__answer