def test_set_container_factory(self): # No container factory. d = {} self.assertRaises(KeyError, api.set, d, 'foo.0', 'bar') # dict container factory d = {} def container_factory(parent_key, item_key): return {} api.set(d, 'foo.0.bar', 'fum', container_factory=container_factory) self.assertEqual(d, {'foo': {'0': {'bar': 'fum'}}}) # list for ints container factory d = {} def container_factory(parent_key, item_key): if item_key.isdigit(): return [] return {} api.set(d, 'foo.0.bar', 'fum', container_factory=container_factory) self.assertEqual(d, {'foo': [{'bar': 'fum'}]})
def test_set_container_factory(self): # No container factory. d = {} self.assertRaises(KeyError, api.set, d, "foo.0", "bar") # dict container factory d = {} def container_factory(parent_key, item_key): return {} api.set(d, "foo.0.bar", "fum", container_factory=container_factory) self.assertTrue(d == {"foo": {"0": {"bar": "fum"}}}) # list for ints container factory d = {} def container_factory(parent_key, item_key): if item_key.isdigit(): return [] return {} api.set(d, "foo.0.bar", "fum", container_factory=container_factory) self.assertTrue(d == {"foo": [{"bar": "fum"}]})
def test_set(self): # Test top-level. d = {} api.set(d, 'foo', 'bar') self.assertTrue(d == {'foo': 'bar'}) # Test nested. d = {'foo': {}} api.set(d, 'foo.bar', 'rab') self.assertTrue(d == {'foo': {'bar': 'rab'}}) # Test traversal key error. d = {'foo': {}} api.set(d, 'oof.bar', 'rab', container_factory=container_factory) self.assertTrue(d == {'foo': {}, 'oof': {'bar': 'rab'}})
def test_set(self): # Test top-level l = [None] api.set(l, '0', 'foo') self.assertEquals(l, ['foo']) # Test nested. l = [[None]] api.set(l, '0.0', 'foo') self.assertEquals(l, [['foo']]) # Test traversal key error. l = [[None]] api.set(l,'1.0','bar',container_factory=container_factory) self.assertEquals(l, [[None],['bar']])
def test_set(self): # Test top-level. d = {} api.set(d, 'foo', 'bar') self.assertEqual(d, {'foo': 'bar'}) # Test nested. d = {'foo': {}} api.set(d, 'foo.bar', 'rab') self.assertEqual(d, {'foo': {'bar': 'rab'}}) # Test traversal key error. d = {'foo': {}} api.set(d, 'oof.bar','rab', container_factory=container_factory) self.assertEqual(d, {'foo': {},'oof': {'bar':'rab'}})
def test_set(self): # Test top-level l = [None] api.set(l, '0', 'foo') self.assertEqual(l, ['foo']) # Test nested. l = [[None]] api.set(l, '0.0', 'foo') self.assertEqual(l, [['foo']]) # Test traversal key error. l = [[None]] api.set(l, '1.0', 'bar', container_factory=container_factory) self.assertEqual(l, [[None], ['bar']])
def __setitem__(self, key, value): return api.set(self._o, key, api.unwrap(value))
def test_set_dotted(self): d = {} dd = api.dotted(d) api.set(dd, 'foo', 1) self.assertEqual(dd, {'foo': 1})
def test_set_dotted(self): d = {} dd = api.dotted(d) api.set(dd, 'foo', 1)