Code Duplication    Length = 16-18 lines in 2 locations

tests/test_keypath_dict.py 2 locations

@@ 330-347 (lines=18) @@
327
            val = b['a', 'b', 'e']
328
            print(val)
329
330
    def test_get_item_with_keys_list_and_no_keypath_separator(self):
331
        d = {
332
            'a': {
333
                'b': {
334
                    'c': 1,
335
                    'd': 2,
336
                },
337
            },
338
        }
339
        b = KeypathDict(d, keypath_separator=None)
340
        with self.assertRaises(KeyError):
341
            val = b['a', 'b.c']
342
            print(val)
343
        self.assertEqual(b['a', 'b', 'c'], 1)
344
        self.assertEqual(b['a', 'b', 'd'], 2)
345
        with self.assertRaises(KeyError):
346
            val = b['a', 'b', 'e']
347
            print(val)
348
349
    def test_has_with_1_key(self):
350
        d = {
@@ 313-328 (lines=16) @@
310
            val = b['c.b.a']
311
            print(val)
312
313
    def test_get_item_with_keys_list(self):
314
        d = {
315
            'a': {
316
                'b': {
317
                    'c': 1,
318
                    'd': 2,
319
                },
320
            },
321
        }
322
        b = KeypathDict(d)
323
        self.assertEqual(b['a', 'b.c'], 1)
324
        self.assertEqual(b['a', 'b', 'c'], 1)
325
        self.assertEqual(b['a', 'b', 'd'], 2)
326
        with self.assertRaises(KeyError):
327
            val = b['a', 'b', 'e']
328
            print(val)
329
330
    def test_get_item_with_keys_list_and_no_keypath_separator(self):
331
        d = {