示例#1
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)
示例#2
0
 def test_getitem_not_present(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], NotPresent('foo'))
     compare(data, expected={'foo': 'bar'})
示例#3
0
 def test_getitem(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], 'baz')
     compare(data, expected={'foo': 'baz'})
示例#4
0
 def test_merge(self):
     data = {'x': 1}
     data = store(data, target.merge(), {'y': 2}, MergeContext())
     compare(data, expected={'x': 1, 'y': 2})
示例#5
0
 def test_string_dotted(self):
     data = {'foo': Namespace(x=1)}
     store(data, 'foo.x', 2)
     compare(data['foo'].x, expected=2)
示例#6
0
 def test_insert(self):
     data = ['a', 'b']
     store(data, target.insert(1), 'c')
     compare(data, expected=['a', 'c', 'b'])
示例#7
0
 def test_attr_not_present(self):
     data = Namespace(x=1)
     store(data, target.x, NotPresent('foo'))
     compare(data.x, 1)
示例#8
0
 def test_append_not_present(self):
     data = []
     store(data, target.append()['a'], NotPresent('foo'))
     compare(data, expected=[{}])
示例#9
0
 def test_insert(self):
     data = ['a', 'b']
     store(data, target.insert(1), 'c')
     compare(data, expected=['a', 'c', 'b'])
示例#10
0
 def test_append(self):
     data = ['a', 'b']
     store(data, target.append(), 'c')
     compare(data, expected=['a', 'b', 'c'])
示例#11
0
 def test_append_nested(self):
     data = []
     store(data, target.append()['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
示例#12
0
 def test_index_not_present(self):
     data = ['a', 'b']
     store(data, target[1], NotPresent(1))
     compare(data, expected=['a', 'b'])
示例#13
0
 def test_index(self):
     data = ['a', 'b']
     store(data, target[1], 'c')
     compare(data, expected=['a', 'c'])
示例#14
0
 def test_getitem_not_present(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], NotPresent('foo'))
     compare(data, expected={'foo': 'bar'})
示例#15
0
 def test_index_not_present(self):
     data = ['a', 'b']
     store(data, target[1], NotPresent(1))
     compare(data, expected=['a', 'b'])
示例#16
0
 def test_insert_nested(self):
     data = []
     store(data, target.insert(0)['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
示例#17
0
 def test_append_nested(self):
     data = []
     store(data, target.append()['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
示例#18
0
 def test_insert_not_present(self):
     data = []
     store(data, target.insert(0)['a'], NotPresent('foo'))
     compare(data, expected=[{}])
示例#19
0
 def test_insert_not_present(self):
     data = []
     store(data, target.insert(0)['a'], NotPresent('foo'))
     compare(data, expected=[{}])
示例#20
0
 def test_attr(self):
     data = Namespace(x=1)
     store(data, target.x, 2)
     compare(data.x, 2)
示例#21
0
 def test_string_item(self):
     data = {'foo': 'bar'}
     store(data, 'foo', 'baz')
     compare(data, expected={'foo': 'baz'})
示例#22
0
 def test_attr_not_present(self):
     data = Namespace(x=1)
     store(data, target.x, NotPresent('foo'))
     compare(data.x, 1)
示例#23
0
 def test_create_nested_attrs(self):
     # exception
     data = {}
     with ShouldRaise(AttributeError("'dict' object has no attribute 'x'")):
         store(data, target.x.y, 2)
示例#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)
示例#25
0
 def test_ensure_on_required(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use required() as target')):
         store(data, required(target).x, 'y')
示例#26
0
 def test_string_item(self):
     data = {'foo': 'bar'}
     store(data, 'foo', 'baz')
     compare(data, expected={'foo': 'baz'})
示例#27
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}})
示例#28
0
 def test_string_attr(self):
     data = Namespace(foo='bar')
     store(data, target.x, 2)
     compare(data.x, 2)
示例#29
0
 def test_getitem(self):
     data = {'foo': 'bar'}
     store(data, target['foo'], 'baz')
     compare(data, expected={'foo': 'baz'})
示例#30
0
 def test_string_dotted(self):
     data = {'foo': Namespace(x=1)}
     store(data, 'foo.x', 2)
     compare(data['foo'].x, expected=2)
示例#31
0
 def test_index(self):
     data = ['a', 'b']
     store(data, target[1], 'c')
     compare(data, expected=['a', 'c'])
示例#32
0
 def test_create_nested_dicts(self):
     # created needed dicts
     data = {}
     store(data, target['x']['y'], 2)
     compare(data, expected={'x': {'y': 2}})
示例#33
0
 def test_append(self):
     data = ['a', 'b']
     store(data, target.append(), 'c')
     compare(data, expected=['a', 'b', 'c'])
示例#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)
示例#35
0
 def test_append_not_present(self):
     data = []
     store(data, target.append()['a'], NotPresent('foo'))
     compare(data, expected=[{}])
示例#36
0
 def test_create_from_dotted_string(self):
     data = {}
     store(data, 'x.y', 2)
     compare(data, expected={'x': {'y': 2}})
示例#37
0
 def test_insert_nested(self):
     data = []
     store(data, target.insert(0)['a'], 'b')
     compare(data, expected=[{'a': 'b'}])
示例#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)
示例#39
0
 def test_attr(self):
     data = Namespace(x=1)
     store(data, target.x, 2)
     compare(data.x, 2)
示例#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')
示例#41
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)
示例#42
0
 def test_ensure_on_required(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use required() as target')):
         store(data, required(target).x, 'y')
示例#43
0
 def test_string_attr(self):
     data = Namespace(foo='bar')
     store(data, target.x, 2)
     compare(data.x, 2)
示例#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')
示例#45
0
 def test_create_nested_dicts(self):
     # created needed dicts
     data = {}
     store(data, target['x']['y'], 2)
     compare(data, expected={'x': {'y': 2}})
示例#46
0
 def test_merge(self):
     data = {'x': 1}
     data = store(data, target.merge(), {'y': 2}, MergeContext())
     compare(data, expected={'x': 1, 'y': 2})
示例#47
0
 def test_create_from_dotted_string(self):
     data = {}
     store(data, 'x.y', 2)
     compare(data, expected={'x': {'y': 2}})
示例#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}})
示例#49
0
 def test_ensure_on_convert(self):
     data = '1'
     with ShouldRaise(TypeError('Cannot use convert() as target')):
         store(data, convert(target, int).x, 'y')
示例#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}})
示例#51
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')
示例#52
0
 def test_ensure_on_merge(self):
     data = {}
     with ShouldRaise(TypeError('merge() must be final operation')):
         store(data, target.merge().x, 'y', MergeContext())
示例#53
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}})
示例#54
0
 def test_root(self):
     data = {'foo'}
     with ShouldRaise(TypeError('Cannot store at root')):
         store(data, target, 'foo')
     compare(data, expected={'foo'})
示例#55
0
 def test_ensure_on_merge(self):
     data = {}
     with ShouldRaise(TypeError('merge() must be final operation')):
         store(data, target.merge().x, 'y', MergeContext())
示例#56
0
 def test_root(self):
     data = {'foo'}
     with ShouldRaise(TypeError('Cannot store at root')):
         store(data, target, 'foo')
     compare(data, expected={'foo'})