Skip to content

Commit ce95e48

Browse files
author
Shehab Abdel-Salam
committed
Fix ch4, ch5, ch7
1 parent 9b4858d commit ce95e48

File tree

3 files changed

+32
-20
lines changed

3 files changed

+32
-20
lines changed

chapters/chapter04_control_flow/tests/test_ch04.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,20 @@ def test_e20():
6060

6161

6262
def test_e21():
63-
assert sum_numbers(0, 2) == 1
64-
assert sum_numbers(1, 10) == 45
65-
assert sum_numbers(1, 100) == 4950
63+
assert sum_numbers(0, 0) == 0
64+
assert sum_numbers(0, 1) == 1
65+
assert sum_numbers(0, 2) == 3
66+
assert sum_numbers(10, 15) == 75
67+
assert sum_numbers(1, 10) == 55
68+
assert sum_numbers(1, 100) == 5050
6669

6770

6871
def test_e22():
69-
assert sum_even_numbers(0, 2) == 0
70-
assert sum_even_numbers(1, 10) == 20
71-
assert sum_even_numbers(1, 100) == 2450
72+
assert sum_even_numbers(1, 5) == 6
73+
assert sum_even_numbers(1, 10) == 30
74+
assert sum_even_numbers(1, 20) == 110
75+
assert sum_even_numbers(1, 30) == 240
76+
assert sum_even_numbers(1, 40) == 420
7277

7378

7479
def test_e23():
@@ -91,6 +96,7 @@ def test_e25():
9196

9297

9398
def test_e26():
99+
assert find_first_divisible_by_5([]) is None
94100
assert find_first_divisible_by_5([1, 2, 3, 4, 5]) == 5
95101
assert find_first_divisible_by_5([5, 10, 15, 20, 25]) == 5
96102
assert find_first_divisible_by_5([6, 7, 8, 9, 10]) == 10
@@ -111,7 +117,7 @@ def test_e28():
111117

112118

113119
def test_e29():
114-
assert gpa_calculator([]) == 0
120+
assert gpa_calculator([1]) == 1.0
115121
assert gpa_calculator([4, 3, 2]) == 3.0
116122
assert gpa_calculator([4, 3, 2, 1]) == 2.5
117123
assert gpa_calculator([4, 4, 4, 4]) == 4.0

chapters/chapter05_functions/tests/test_ch05.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ def test_e32():
2929

3030

3131
def test_e33():
32-
assert fibonacci(1) == 0
32+
assert fibonacci(1) == 1
3333
assert fibonacci(2) == 1
3434
assert fibonacci(3) == 2
3535
assert fibonacci(4) == 3
36+
assert fibonacci(5) == 5
37+
assert fibonacci(6) == 8
3638
assert fibonacci(10) == 55
37-
assert fibonacci(20) == 4181
39+
assert fibonacci(20) == 6765
3840

3941

4042
def test_e34():
@@ -47,17 +49,21 @@ def fifteen_percent(x: int):
4749
def five_dollar(x: int):
4850
return x - 5
4951

50-
assert apply_vouchers(ten_percent, total=100) == 90
51-
assert apply_vouchers(fifteen_percent, total=100) == 85
52-
assert apply_vouchers(five_dollar, total=100) == 95
53-
assert apply_vouchers(ten_percent, fifteen_percent, total=100) == 76.5
54-
assert apply_vouchers(ten_percent, fifteen_percent, five_dollar, total=100) == 71.5
52+
assert apply_vouchers([ten_percent], total=100) == 90
53+
assert apply_vouchers([fifteen_percent], total=100) == 85
54+
assert apply_vouchers([five_dollar], total=100) == 95
55+
assert apply_vouchers([ten_percent, fifteen_percent], total=100) == 76.5
56+
assert (
57+
apply_vouchers([ten_percent, fifteen_percent, five_dollar], total=100) == 71.5
58+
)
5559

5660

5761
def test_e35():
58-
assert find_max([1, 2, 3, 4, 5]) == 5
59-
assert find_max([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) == 10
60-
assert find_max([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0]) == 10
62+
assert find_max(1) == 1
63+
assert find_max(-1, -10, 8, 5) == 8
64+
assert find_max(1, 2, 3) == 3
65+
assert find_max(10, 20, 30) == 30
66+
assert find_max(100, 200, 300) == 300
6167

6268

6369
def test_e36():

chapters/chapter07_strings/tests/test_ch07.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_e50():
1313
assert get_substring("Hello, World!", 0, 5) == "Hello"
1414
assert get_substring("Hello, World!", 7, 12) == "World"
1515
assert get_substring("Python is fun!", 7, 9) == "is"
16-
assert get_substring("Python is fun!", 0, 5) == "Python"
16+
assert get_substring("Python is fun!", 0, 6) == "Python"
1717

1818

1919
def test_e51():
@@ -26,7 +26,7 @@ def test_e51():
2626

2727
def test_e52():
2828
assert reverse_each_word("") == ""
29-
assert reverse_each_word("HelloWorld") == "HelloWorld"
29+
assert reverse_each_word("Hi there from Python") == "iH ereht morf nohtyP"
3030
assert reverse_each_word("Hello World") == "olleH dlroW"
3131
assert reverse_each_word("I want to reverse this") == "I tnaw ot esrever siht"
3232

@@ -115,5 +115,5 @@ def test_e57():
115115
assert compress_string("abcd") == "abcd"
116116
assert compress_string("aaabbbbbcc") == "a3b5c2"
117117
assert compress_string("aabbbcc") == "a2b3c2"
118-
assert compress_string("aaaaaabbbc") == "a6b2c"
118+
assert compress_string("aaaaaabbbc") == "a6b3c"
119119
assert compress_string("aadddcccbb") == "a2d3c3b2"

0 commit comments

Comments
 (0)