def test_setdefault_with_1_key(self): d = { 'a': None, 'b': 0, 'c': 1, } b = KeypathDict(d) b.setdefault('a', 2) b.setdefault('b', 2) b.setdefault('c', 2) b.setdefault('d', 2) self.assertEqual(b['a'], None) self.assertEqual(b['b'], 0) self.assertEqual(b['c'], 1) self.assertEqual(b['d'], 2)
def test_setdefault_with_2_keys(self): d = { 'x': { 'a': None, 'b': 0, 'c': 1, }, } b = KeypathDict(d) b.setdefault('x.a', 2) b.setdefault('x.b', 2) b.setdefault('x.c', 2) b.setdefault('x.d', 2) self.assertEqual(b['x.a'], None) self.assertEqual(b['x.b'], 0) self.assertEqual(b['x.c'], 1) self.assertEqual(b['x.d'], 2)