Code Duplication    Length = 15-19 lines in 3 locations

tests/test_keypath_dict.py 3 locations

@@ 837-855 (lines=19) @@
834
        self.assertEqual(b['x.c'], 1)
835
        self.assertEqual(b['x.d'], 2)
836
837
    def test_setdefault_with_3_keys(self):
838
        d = {
839
            'y': {
840
                'z': {
841
                    'a': None,
842
                    'b': 0,
843
                    'c': 1,
844
                },
845
            },
846
        }
847
        b = KeypathDict(d)
848
        b.setdefault('y.z.a', 2)
849
        b.setdefault('y.z.b', 2)
850
        b.setdefault('y.z.c', 2)
851
        b.setdefault('y.z.d', 2)
852
        self.assertEqual(b['y.z.a'], None)
853
        self.assertEqual(b['y.z.b'], 0)
854
        self.assertEqual(b['y.z.c'], 1)
855
        self.assertEqual(b['y.z.d'], 2)
856
@@ 819-835 (lines=17) @@
816
        self.assertEqual(b['c'], 1)
817
        self.assertEqual(b['d'], 2)
818
819
    def test_setdefault_with_2_keys(self):
820
        d = {
821
            'x': {
822
                'a': None,
823
                'b': 0,
824
                'c': 1,
825
            },
826
        }
827
        b = KeypathDict(d)
828
        b.setdefault('x.a', 2)
829
        b.setdefault('x.b', 2)
830
        b.setdefault('x.c', 2)
831
        b.setdefault('x.d', 2)
832
        self.assertEqual(b['x.a'], None)
833
        self.assertEqual(b['x.b'], 0)
834
        self.assertEqual(b['x.c'], 1)
835
        self.assertEqual(b['x.d'], 2)
836
837
    def test_setdefault_with_3_keys(self):
838
        d = {
@@ 803-817 (lines=15) @@
800
        val = b.pop(['a', 'b'])
801
        self.assertEqual(val, 1)
802
803
    def test_setdefault_with_1_key(self):
804
        d = {
805
            'a': None,
806
            'b': 0,
807
            'c': 1,
808
        }
809
        b = KeypathDict(d)
810
        b.setdefault('a', 2)
811
        b.setdefault('b', 2)
812
        b.setdefault('c', 2)
813
        b.setdefault('d', 2)
814
        self.assertEqual(b['a'], None)
815
        self.assertEqual(b['b'], 0)
816
        self.assertEqual(b['c'], 1)
817
        self.assertEqual(b['d'], 2)
818
819
    def test_setdefault_with_2_keys(self):
820
        d = {