@@ -266,12 +266,8 @@ class MyDict(dict):
266266 else:
267267 return super().setdefault(k, v) + 10
268268
269- class MyComplexDict(DefaultDict, MyDict):
270- def __init__(self, vals: Dict[str, int]):
271- # The custom init is necessary for this test as we cannot init a DefaultDict with a dict
272- DefaultDict.__init__(self, int)
273- for k, v in vals.items():
274- self[k] = v
269+ class MyComplexDict(DefaultDict[str, int], MyDict):
270+ pass
275271
276272def test_dict_keys() -> None:
277273 d: Dict[str, Optional[int]] = {'a': 1, 'b': 2}
@@ -282,7 +278,7 @@ def test_dict_subclass_keys() -> None:
282278 assert list(d.keys()) == ['a', 'b']
283279
284280def test_dict_subclass_complex_keys() -> None:
285- d = MyComplexDict({'a': 1, 'b': 2})
281+ d = MyComplexDict(int, {'a': 1, 'b': 2})
286282 assert list(d.keys()) == ['a', 'b']
287283
288284def test_dict_values() -> None:
@@ -294,7 +290,7 @@ def test_dict_subclass_values() -> None:
294290 assert list(d.values()) == [1, 2]
295291
296292def test_dict_subclass_complex_values() -> None:
297- d = MyComplexDict({'a': 1, 'b': 2})
293+ d = MyComplexDict(int, {'a': 1, 'b': 2})
298294 assert list(d.values()) == [1, 2]
299295
300296def test_dict_items() -> None:
@@ -306,7 +302,7 @@ def test_dict_subclass_items() -> None:
306302 assert list(d.items()) == [('a', 1), ('b', 2)]
307303
308304def test_dict_subclass_complex_items() -> None:
309- d = MyComplexDict({'a': 1, 'b': 2})
305+ d = MyComplexDict(int, {'a': 1, 'b': 2})
310306 assert list(d.items()) == [('a', 1), ('b', 2)]
311307
312308def test_dict_setdefault() -> None:
0 commit comments