def test_create_nested_attrs_from_dotted_string(self):
     # exception
     data = Namespace()
     with ShouldRaise(AttributeError(
         "'Namespace' object has no attribute 'x'"
     )):
         store(data, 'x.y', 2)
 def test_getitem_not_present(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], NotPresent('foo'))
     compare(data, expected={'foo': 'bar'})
Exemple #3
0
 def test_getitem(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], 'baz')
     compare(data, expected={'foo': 'baz'})
 def test_merge(self):
     data = {'x': 1}
     data = store(data, target.merge(), {'y': 2}, MergeContext())
     compare(data, expected={'x': 1, 'y': 2})
 def test_string_dotted(self):
     data = {'foo': Namespace(x=1)}
     store(data, 'foo.x', 2)
     compare(data['foo'].x, expected=2)
 def test_insert(self):
     data = ['a', 'b']
     store(data, target.insert(1), 'c')
     compare(data, expected=['a', 'c', 'b'])
 def test_attr_not_present(self):
     data = Namespace(x=1)
     store(data, target.x, NotPresent('foo'))
     compare(data.x, 1)
Exemple #8
0
 def test_append_not_present(self):
     data = []
     store(data, target.append()['a'], NotPresent('foo'))
     compare(data, expected=[{}])
Exemple #9
0
 def test_insert(self):
     data = ['a', 'b']
     store(data, target.insert(1), 'c')
     compare(data, expected=['a', 'c', 'b'])
Exemple #10
0
 def test_append(self):
     data = ['a', 'b']
     store(data, target.append(), 'c')
     compare(data, expected=['a', 'b', 'c'])
Exemple #11
0
 def test_append_nested(self):
     data = []
     store(data, target.append()['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
Exemple #12
0
 def test_index_not_present(self):
     data = ['a', 'b']
     store(data, target[1], NotPresent(1))
     compare(data, expected=['a', 'b'])
Exemple #13
0
 def test_index(self):
     data = ['a', 'b']
     store(data, target[1], 'c')
     compare(data, expected=['a', 'c'])
Exemple #14
0
 def test_getitem_not_present(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], NotPresent('foo'))
     compare(data, expected={'foo': 'bar'})
 def test_index_not_present(self):
     data = ['a', 'b']
     store(data, target[1], NotPresent(1))
     compare(data, expected=['a', 'b'])
Exemple #16
0
 def test_insert_nested(self):
     data = []
     store(data, target.insert(0)['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
 def test_append_nested(self):
     data = []
     store(data, target.append()['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
Exemple #18
0
 def test_insert_not_present(self):
     data = []
     store(data, target.insert(0)['a'], NotPresent('foo'))
     compare(data, expected=[{}])
 def test_insert_not_present(self):
     data = []
     store(data, target.insert(0)['a'], NotPresent('foo'))
     compare(data, expected=[{}])
Exemple #20
0
 def test_attr(self):
     data = Namespace(x=1)
     store(data, target.x, 2)
     compare(data.x, 2)
 def test_string_item(self):
     data = {'foo': 'bar'}
     store(data, 'foo', 'baz')
     compare(data, expected={'foo': 'baz'})
Exemple #22
0
 def test_attr_not_present(self):
     data = Namespace(x=1)
     store(data, target.x, NotPresent('foo'))
     compare(data.x, 1)
 def test_create_nested_attrs(self):
     # exception
     data = {}
     with ShouldRaise(AttributeError("'dict' object has no attribute 'x'")):
         store(data, target.x.y, 2)
Exemple #24
0
 def test_nested(self):
     data = {'foo': ['a', 'b', Namespace(x=1)]}
     store(data, target['foo'][2].x, 2)
     compare(data['foo'][2].x, expected=2)
 def test_ensure_on_required(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use required() as target')):
         store(data, required(target).x, 'y')
Exemple #26
0
 def test_string_item(self):
     data = {'foo': 'bar'}
     store(data, 'foo', 'baz')
     compare(data, expected={'foo': 'baz'})
 def test_merge_not_present(self):
     data = {'x': {'y': 2}}
     store(data, target['x'].merge(), NotPresent('foo'), MergeContext())
     compare(data, expected={'x': {'y': 2}})
Exemple #28
0
 def test_string_attr(self):
     data = Namespace(foo='bar')
     store(data, target.x, 2)
     compare(data.x, 2)
 def test_getitem(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], 'baz')
     compare(data, expected={'foo': 'baz'})
Exemple #30
0
 def test_string_dotted(self):
     data = {'foo': Namespace(x=1)}
     store(data, 'foo.x', 2)
     compare(data['foo'].x, expected=2)
 def test_index(self):
     data = ['a', 'b']
     store(data, target[1], 'c')
     compare(data, expected=['a', 'c'])
Exemple #32
0
 def test_create_nested_dicts(self):
     # created needed dicts
     data = {}
     store(data, target['x']['y'], 2)
     compare(data, expected={'x': {'y': 2}})
 def test_append(self):
     data = ['a', 'b']
     store(data, target.append(), 'c')
     compare(data, expected=['a', 'b', 'c'])
Exemple #34
0
 def test_create_nested_attrs(self):
     # exception
     data = {}
     with ShouldRaise(AttributeError("'dict' object has no attribute 'x'")):
         store(data, target.x.y, 2)
 def test_append_not_present(self):
     data = []
     store(data, target.append()['a'], NotPresent('foo'))
     compare(data, expected=[{}])
Exemple #36
0
 def test_create_from_dotted_string(self):
     data = {}
     store(data, 'x.y', 2)
     compare(data, expected={'x': {'y': 2}})
 def test_insert_nested(self):
     data = []
     store(data, target.insert(0)['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
Exemple #38
0
 def test_create_nested_attrs_from_dotted_string(self):
     # exception
     data = Namespace()
     with ShouldRaise(
             AttributeError("'Namespace' object has no attribute 'x'")):
         store(data, 'x.y', 2)
 def test_attr(self):
     data = Namespace(x=1)
     store(data, target.x, 2)
     compare(data.x, 2)
Exemple #40
0
 def test_ensure_on_convert(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use convert() as target')):
         store(data, convert(target, int).x, 'y')
 def test_nested(self):
     data = {'foo': ['a', 'b', Namespace(x=1)]}
     store(data, target['foo'][2].x, 2)
     compare(data['foo'][2].x, expected=2)
Exemple #42
0
 def test_ensure_on_required(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use required() as target')):
         store(data, required(target).x, 'y')
 def test_string_attr(self):
     data = Namespace(foo='bar')
     store(data, target.x, 2)
     compare(data.x, 2)
Exemple #44
0
 def test_ensure_on_supplied(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use if_supplied() as target')):
         store(data, if_supplied(target).x, 'y')
 def test_create_nested_dicts(self):
     # created needed dicts
     data = {}
     store(data, target['x']['y'], 2)
     compare(data, expected={'x': {'y': 2}})
Exemple #46
0
 def test_merge(self):
     data = {'x': 1}
     data = store(data, target.merge(), {'y': 2}, MergeContext())
     compare(data, expected={'x': 1, 'y': 2})
 def test_create_from_dotted_string(self):
     data = {}
     store(data, 'x.y', 2)
     compare(data, expected={'x': {'y': 2}})
Exemple #48
0
 def test_merge_nested(self):
     data = {'x': {'y': 2}}
     store(data, target['x'].merge(), {'z': 1}, MergeContext())
     compare(data, expected={'x': {'y': 2, 'z': 1}})
 def test_ensure_on_convert(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use convert() as target')):
         store(data, convert(target, int).x, 'y')
Exemple #50
0
 def test_merge_not_present(self):
     data = {'x': {'y': 2}}
     store(data, target['x'].merge(), NotPresent('foo'), MergeContext())
     compare(data, expected={'x': {'y': 2}})
 def test_ensure_on_supplied(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use if_supplied() as target')):
         store(data, if_supplied(target).x, 'y')
Exemple #52
0
 def test_ensure_on_merge(self):
     data = {}
     with ShouldRaise(TypeError('merge() must be final operation')):
         store(data, target.merge().x, 'y', MergeContext())
 def test_merge_nested(self):
     data = {'x': {'y': 2}}
     store(data, target['x'].merge(), {'z': 1}, MergeContext())
     compare(data, expected={'x': {'y': 2, 'z': 1}})
 def test_root(self):
     data = {'foo'}
     with ShouldRaise(TypeError('Cannot store at root')):
         store(data, target, 'foo')
     compare(data, expected={'foo'})
 def test_ensure_on_merge(self):
     data = {}
     with ShouldRaise(TypeError('merge() must be final operation')):
         store(data, target.merge().x, 'y', MergeContext())
Exemple #56
0
 def test_root(self):
     data = {'foo'}
     with ShouldRaise(TypeError('Cannot store at root')):
         store(data, target, 'foo')
     compare(data, expected={'foo'})