Ejemplo n.º 1
0
 def test_dict_dottedset(self):
     tests = [
     ( {'list': {}}, ( ('list.0.a',7, {'list':[{'a':7}]}), ) ),
     ( {'list': {'x':{}}}, ( ('list.x.0.a',7, {'list':{'x':[{'a':7}]}}), ) ),
     ]
     for d, checkers in tests:
         for k, v, result in checkers:
             _setdefault(d,k,v)
             self.assertEquals(d, result)
Ejemplo n.º 2
0
 def test_setdefault(self):
     testval = 'test'
     tests = [
         ( {}, 'one.a', {'one': {'a':testval}} ),
         ( {}, 'list.0.a', {'list': [ {'a':testval} ] }),
         ( [{'a': 1}],  '1.a', [{'a':1},{'a':testval}] ),
         ( {'list':[{'a': 1}]}, 'list.1.a',  {'list': [{'a':1},{'a':testval}] }),
         ( {'list': {'x':{}}}, 'list.x.0.a', {'list':{'x':[{'a':testval}]}} ), 
         ( {'one':{'a':1}}, 'one.b', {'one': {'a':1,'b':testval}}),
         ( {'one': {'a': [''], 'b': ['']}}, 'one.c.x', {'one': {'a': [''], 'b': [''], 'c':{'x':testval}}} ),
         ]
     for data, dottedkey, value in tests:
         _setdefault(data, dottedkey, testval)
         self.assertEquals(data, value)