1+ def fibonacci (n ):
2+ """Return the n value based on the Fibonacci series."""
3+ if n <= 0 :
4+ return 0
5+ elif n == 1 :
6+ return 1
7+ else :
8+ return fibonacci (n - 1 ) + fibonacci (n - 2 )
9+
10+ def lucas (n ):
11+ """Return the n value in the Lucas Numbers."""
12+ if n <= 0 :
13+ return 2
14+ elif n == 1 :
15+ return 1
16+ else :
17+ return lucas (n - 1 ) + lucas (n - 2 )
18+
19+ def sum_series (n , x = 0 , y = 1 ):
20+ if n <= 0 :
21+ return x
22+ elif n == 1 :
23+ return y
24+ else :
25+ return sum_series (n - 1 , x , y ) + sum_series (n - 2 , x , y )
26+
27+ if __name__ == "__main__" :
28+ """Validate that when an nth values are passed different positions are returned"""
29+
30+ # Validate Fibonacci tests pass successfully.
31+ assert fibonacci (0 ) == 0
32+ assert fibonacci (1 ) == 1
33+ assert fibonacci (2 ) == 1
34+ assert fibonacci (3 ) == 2
35+ assert fibonacci (4 ) == 3
36+ assert fibonacci (5 ) == 5
37+ assert fibonacci (6 ) == 8
38+ assert fibonacci (7 ) == 13
39+
40+ # Validate Lucas tests pass successfully.
41+
42+ assert lucas (0 ) == 2
43+ assert lucas (1 ) == 1
44+ assert lucas (2 ) == 3
45+ assert lucas (3 ) == 4
46+ assert lucas (4 ) == 7
47+ assert lucas (5 ) == 11
48+ assert lucas (6 ) == 18
49+ assert lucas (7 ) == 29
50+
51+ # Validate sum_series tests for Fibonacci pass successfully.
52+
53+ assert sum_series (0 ) == 0
54+ assert sum_series (1 ) == 1
55+ assert sum_series (2 ) == 1
56+ assert sum_series (3 ) == 2
57+ assert sum_series (4 ) == 3
58+ assert sum_series (5 ) == 5
59+ assert sum_series (6 ) == 8
60+ assert sum_series (7 ) == 13
61+
62+ # Validate sum_series tests for Lucas pass successfully.
63+
64+ assert sum_series (0 ) == 0
65+ assert sum_series (1 ) == 1
66+ assert sum_series (2 ) == 1
67+ assert sum_series (3 ) == 2
68+ assert sum_series (4 ) == 3
69+ assert sum_series (5 ) == 5
70+ assert sum_series (6 ) == 8
71+ assert sum_series (7 ) == 13
72+
73+ print ""
74+ print "All Tests Pass"
0 commit comments