Esempio n. 1
0
 def test_push_pop(self):
     config = Config({'x': 1, 'y': 2})
     compare(config.x, expected=1)
     compare(config.y, expected=2)
     config.push(Config({'x': 3}))
     compare(config.x, expected=3)
     compare(config.y, expected=2)
     config.pop()
     compare(config.x, expected=1)
     compare(config.y, expected=2)
Esempio n. 2
0
 def test_push_empty(self):
     config = Config({'x': 1, 'y': 2})
     compare(config.x, expected=1)
     compare(config.y, expected=2)
     config.push(Config({'x': 3}), empty=True)
     compare(config.x, expected=3)
     with ShouldRaise(AttributeError('y')):
         config.y
     config.pop()
     compare(config.x, expected=1)
     compare(config.y, expected=2)
Esempio n. 3
0
 def test_context_manager_push_pathological(self):
     config = Config({'x': 1, 'y': 2})
     compare(config.x, expected=1)
     compare(config.y, expected=2)
     with config.push():
         config.data['a'] = 5
         config.push({'x': 3})
         config.push({'z': 4})
         compare(config.a, expected=5)
         compare(config.x, expected=3)
         compare(config.y, expected=2)
         compare(config.z, expected=4)
     compare(config.x, expected=1)
     compare(config.y, expected=2)
     with ShouldRaise(AttributeError('a')):
         config.a
     with ShouldRaise(AttributeError('z')):
         config.z
Esempio n. 4
0
 def test_context_manager_push(self):
     config = Config({'x': 1, 'y': 2})
     compare(config.x, expected=1)
     compare(config.y, expected=2)
     with config.push(Config({'x': 3})):
         compare(config.x, expected=3)
         compare(config.y, expected=2)
     compare(config.x, expected=1)
     compare(config.y, expected=2)
Esempio n. 5
0
 def test_context_manager_push_deep(self):
     config = Config({'x': {'y': 'z'}})
     with config.push():
         config.data['x']['y'] = 'a'
         compare(config.x.y, expected='a')
     compare(config.x.y, expected='z')
Esempio n. 6
0
 def test_push_non_config(self):
     config = Config({'x': 1})
     compare(config.x, expected=1)
     config.push({'x': 2})
     compare(config.x, expected=2)