Skip to content

Commit cda2f92

Browse files
authored
De-indented error checking scenarios and added variables. (#3966)
1 parent 0f0c01e commit cda2f92

File tree

2 files changed

+50
-16
lines changed

2 files changed

+50
-16
lines changed

exercises/practice/linked-list/.meta/template.j2

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,23 @@
3939
{%- if error_operation == "pop" or error_operation == "shift" %}
4040
with self.assertRaises(IndexError) as err:
4141
lst.{{ error_operation }}()
42-
self.assertEqual(type(err.exception), IndexError)
42+
43+
to_validate = err.exception
44+
to_validate_msg = err.exception.args[0]
45+
46+
self.assertEqual(type(to_validate), IndexError)
47+
self.assertEqual(to_validate_msg, "{{ error_msg }}")
48+
4349
{%- elif error_operation == "delete" %}
4450
with self.assertRaises(ValueError) as err:
4551
lst.{{ error_operation }}({{ value if value else 0 }})
46-
self.assertEqual(type(err.exception), ValueError)
52+
53+
to_validate = err.exception
54+
to_validate_msg = err.exception.args[0]
55+
56+
self.assertEqual(type(to_validate), ValueError)
57+
self.assertEqual(to_validate_msg, "{{ error_msg }}")
4758
{%- endif %}
48-
self.assertEqual(err.exception.args[0], "{{ error_msg }}")
4959
{%- endif %}
5060
{%- endmacro %}
5161

exercises/practice/linked-list/linked_list_test.py

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# These tests are auto-generated with test data from:
22
# https://github.com/exercism/problem-specifications/tree/main/exercises/linked-list/canonical-data.json
3-
# File last updated on 2023-07-19
3+
# File last updated on 2025-08-24
44

55
import unittest
66

@@ -168,8 +168,12 @@ def test_using_pop_raises_an_error_if_the_list_is_empty(self):
168168
lst = LinkedList()
169169
with self.assertRaises(IndexError) as err:
170170
lst.pop()
171-
self.assertEqual(type(err.exception), IndexError)
172-
self.assertEqual(err.exception.args[0], "List is empty")
171+
172+
to_validate = err.exception
173+
to_validate_msg = err.exception.args[0]
174+
175+
self.assertEqual(type(to_validate), IndexError)
176+
self.assertEqual(to_validate_msg, "List is empty")
173177

174178
def test_can_return_with_pop_and_then_raise_an_error_if_empty(self):
175179
lst = LinkedList()
@@ -179,15 +183,23 @@ def test_can_return_with_pop_and_then_raise_an_error_if_empty(self):
179183
self.assertEqual(lst.pop(), 5)
180184
with self.assertRaises(IndexError) as err:
181185
lst.pop()
182-
self.assertEqual(type(err.exception), IndexError)
183-
self.assertEqual(err.exception.args[0], "List is empty")
186+
187+
to_validate = err.exception
188+
to_validate_msg = err.exception.args[0]
189+
190+
self.assertEqual(type(to_validate), IndexError)
191+
self.assertEqual(to_validate_msg, "List is empty")
184192

185193
def test_using_shift_raises_an_error_if_the_list_is_empty(self):
186194
lst = LinkedList()
187195
with self.assertRaises(IndexError) as err:
188196
lst.shift()
189-
self.assertEqual(type(err.exception), IndexError)
190-
self.assertEqual(err.exception.args[0], "List is empty")
197+
198+
to_validate = err.exception
199+
to_validate_msg = err.exception.args[0]
200+
201+
self.assertEqual(type(to_validate), IndexError)
202+
self.assertEqual(to_validate_msg, "List is empty")
191203

192204
def test_can_return_with_shift_and_then_raise_an_error_if_empty(self):
193205
lst = LinkedList()
@@ -197,15 +209,23 @@ def test_can_return_with_shift_and_then_raise_an_error_if_empty(self):
197209
self.assertEqual(lst.shift(), 5)
198210
with self.assertRaises(IndexError) as err:
199211
lst.shift()
200-
self.assertEqual(type(err.exception), IndexError)
201-
self.assertEqual(err.exception.args[0], "List is empty")
212+
213+
to_validate = err.exception
214+
to_validate_msg = err.exception.args[0]
215+
216+
self.assertEqual(type(to_validate), IndexError)
217+
self.assertEqual(to_validate_msg, "List is empty")
202218

203219
def test_using_delete_raises_an_error_if_the_list_is_empty(self):
204220
lst = LinkedList()
205221
with self.assertRaises(ValueError) as err:
206222
lst.delete(0)
207-
self.assertEqual(type(err.exception), ValueError)
208-
self.assertEqual(err.exception.args[0], "Value not found")
223+
224+
to_validate = err.exception
225+
to_validate_msg = err.exception.args[0]
226+
227+
self.assertEqual(type(to_validate), ValueError)
228+
self.assertEqual(to_validate_msg, "Value not found")
209229

210230
def test_using_delete_raises_an_error_if_the_value_is_not_found(self):
211231
lst = LinkedList()
@@ -214,5 +234,9 @@ def test_using_delete_raises_an_error_if_the_value_is_not_found(self):
214234
self.assertEqual(lst.pop(), 7)
215235
with self.assertRaises(ValueError) as err:
216236
lst.delete(0)
217-
self.assertEqual(type(err.exception), ValueError)
218-
self.assertEqual(err.exception.args[0], "Value not found")
237+
238+
to_validate = err.exception
239+
to_validate_msg = err.exception.args[0]
240+
241+
self.assertEqual(type(to_validate), ValueError)
242+
self.assertEqual(to_validate_msg, "Value not found")

0 commit comments

Comments
 (0)