FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

bowling: use context manager form for assertRaises (RE: #477) · exercism/python@c65fa55 · GitHub

Repository navigation

Commit c65fa55

Browse files
authored
bowling: use context manager form for assertRaises (RE: #477)
1 parent f6f9279 commit c65fa55

1 file changed

Lines changed: 30 additions & 10 deletions

File tree

‎exercises/bowling/bowling_test.py‎

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,23 +120,27 @@ def test_all_strikes_is_a_perfect_game(self):
120120

121121
def test_rolls_cannot_score_negative_points(self):
122122

123-
self.assertRaises(ValueError, self.game.roll, -11)
123+
with self.assertRaisesWithMessage(ValueError):
124+
self.game.roll(-11)
124125

125126
def test_a_roll_cannot_score_more_than_10_points(self):
126127

127-
self.assertRaises(ValueError, self.game.roll, 11)
128+
with self.assertRaisesWithMessage(ValueError):
129+
self.game.roll(11)
128130

129131
def test_two_rolls_in_a_frame_cannot_score_more_than_10_points(self):
130132
self.game.roll(5)
131133

132-
self.assertRaises(ValueError, self.game.roll, 6)
134+
with self.assertRaisesWithMessage(ValueError):
135+
self.game.roll(6)
133136

134137
def test_bonus_after_strike_in_last_frame_cannot_score_more_than_10(self):
135138
rolls = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10]
136139

137140
self.roll(rolls)
138141

139-
self.assertRaises(ValueError, self.game.roll, 11)
142+
with self.assertRaisesWithMessage(ValueError):
143+
self.game.roll(11)
140144

141145
def test_bonus_aft_last_frame_strk_can_be_more_than_10_if_1_is_strk(self):
142146
rolls = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
@@ -151,42 +155,58 @@ def test_bonus_aft_last_frame_strk_cnt_be_strk_if_first_is_not_strk(self):
151155

152156
self.roll(rolls)
153157

154-
self.assertRaises(ValueError, self.game.roll, 10)
158+
with self.assertRaisesWithMessage(ValueError):
159+
self.game.roll(10)
155160

156161
def test_an_incomplete_game_cannot_be_scored(self):
157162
rolls = [0, 0]
158163

159164
self.roll(rolls)
160165

161-
self.assertRaises(IndexError, self.game.score)
166+
with self.assertRaisesWithMessage(IndexError):
167+
self.game.score()
162168

163169
def test_cannot_roll_if_there_are_already_ten_frames(self):
164170
rolls = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
165171

166172
self.roll(rolls)
167173

168-
self.assertRaises(IndexError, self.game.roll, 0)
174+
with self.assertRaisesWithMessage(IndexError):
175+
self.game.roll(0)
169176

170177
def test_bonus_rolls_for_strike_must_be_rolled_before_score_is_calc(self):
171178
rolls = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10]
172179

173180
self.roll(rolls)
174181

175-
self.assertRaises(IndexError, self.game.score)
182+
with self.assertRaisesWithMessage(IndexError):
183+
self.game.score()
176184

177185
def test_both_bonuses_for_strike_must_be_rolled_before_score(self):
178186
rolls = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10]
179187

180188
self.roll(rolls)
181189

182-
self.assertRaises(IndexError, self.game.score)
190+
with self.assertRaisesWithMessage(IndexError):
191+
self.game.score()
183192

184193
def test_bonus_rolls_for_spare_must_be_rolled_before_score_is_calc(self):
185194
rolls = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 3]
186195

187196
self.roll(rolls)
188197

189-
self.assertRaises(IndexError, self.game.score)
198+
with self.assertRaisesWithMessage(IndexError):
199+
self.game.score()
200+
201+
# Utility functions
202+
def setUp(self):
203+
try:
204+
self.assertRaisesRegex
205+
except AttributeError:
206+
self.assertRaisesRegex = self.assertRaisesRegexp
207+
208+
def assertRaisesWithMessage(self, exception):
209+
return self.assertRaisesRegex(exception, r".+")
190210

191211

192212
if __name__ == '__main__':

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL