예제 #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'})