def test_fibonacci(self): fibonacci = solution.fibonacci() first_five = list(islice(fibonacci, 5)) self.assertEqual(first_five, [1, 1, 2, 3, 5]) self.assertTrue(hasattr(fibonacci, "__iter__")) self.assertTrue(hasattr(fibonacci, "__next__")) self.assertFalse(hasattr(fibonacci, "__getitem__")) self.assertFalse(hasattr(fibonacci, "__len__"))
def test_fibonacci_ten(self): fibonacci = solution.fibonacci() first_ten = list(islice(fibonacci, 10)) result = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] self.assertEqual(first_ten, result)
def test_fibonacci_twenty(self): fibonacci = solution.fibonacci() first_twenty = list(islice(fibonacci, 20)) result = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765] self.assertEqual(first_twenty, result)
def test_fibonacci(self): for position, expected in enumerate(self.firsts): self.assertEqual(fibonacci(position), expected)