示例#1
0
 def test_cyclic_reference(self):
   x = ExpressionDict({'field': '${injected.value}',
                       'injected.value': '${field}'})
   with self.assertRaises(ValueError):
     x['field']
   with self.assertRaises(ValueError):
     x.get('field')
示例#2
0
 def test_def_value(self):
   x = ExpressionDict({'t': 'true', 'f': 'false',
                       'def': '${unknown:true}', 'indirect': '${f}'})
   x.default_value_interpreter = lambda x: True if x == 'true' else False if x == 'false' else x
   self.assertEqual('true', x.get('t'))
   self.assertEqual('false', x.get('f'))
   self.assertEqual(True, x.get('def'))
   self.assertEqual('false', x.get('indirect'))
示例#3
0
 def test_cyclic_reference(self):
     x = ExpressionDict({
         'field': '${injected.value}',
         'injected.value': '${field}'
     })
     with self.assertRaises(ValueError):
         x['field']
     with self.assertRaises(ValueError):
         x.get('field')
 def test_cyclic_reference(self):
     x = ExpressionDict({
         "field": "${injected.value}",
         "injected.value": "${field}"
     })
     with self.assertRaises(ValueError):
         x["field"]
     with self.assertRaises(ValueError):
         x.get("field")
示例#5
0
 def test_def_value(self):
     x = ExpressionDict({
         't': 'true',
         'f': 'false',
         'def': '${unknown:true}',
         'indirect': '${f}'
     })
     x.default_value_interpreter = lambda x: True if x == 'true' else False if x == 'false' else x
     self.assertEqual('true', x.get('t'))
     self.assertEqual('false', x.get('f'))
     self.assertEqual(True, x.get('def'))
     self.assertEqual('false', x.get('indirect'))
 def test_def_value(self):
     x = ExpressionDict({
         "t": "true",
         "f": "false",
         "def": "${unknown:true}",
         "indirect": "${f}"
     })
     x.default_value_interpreter = (lambda x: True if x == "true" else False
                                    if x == "false" else x)
     self.assertEqual("true", x.get("t"))
     self.assertEqual("false", x.get("f"))
     self.assertEqual(True, x.get("def"))
     self.assertEqual("false", x.get("indirect"))
示例#7
0
 def test_load_transitive_indirect(self):
     x = ExpressionDict({
         'field': '${injected.value}',
         'found': 'FOUND',
         'injected.value': '${found}'
     })
     self.assertEqual('FOUND', x.get('field'))
 def test_load_transitive_indirect(self):
     x = ExpressionDict({
         "field": "${injected.value}",
         "found": "FOUND",
         "injected.value": "${found}",
     })
     self.assertEqual("FOUND", x.get("field"))
示例#9
0
 def test_load_composite_value(self):
   x = ExpressionDict({'a':'A', 'b':'B', 'test':'${a}/${b}'})
   self.assertEqual('A/B', x.get('test'))
示例#10
0
 def test_load_not_found(self):
     x = ExpressionDict({"field": "${injected.value}"})
     self.assertEqual("${injected.value}", x.get("field", None))
     self.assertEqual("${injected.value}", x["field"])
示例#11
0
 def test_load_key_not_found(self):
   x = ExpressionDict({'field': '${injected.value}', 'injected': {}})
   self.assertIsNone(x.get('unknown'))
   with self.assertRaises(KeyError):
     x['unknown']
示例#12
0
 def test_load_transitive_indirect(self):
   x = ExpressionDict({'field': '${injected.value}', 'found': 'FOUND',
                       'injected.value': '${found}'})
   self.assertEqual('FOUND', x.get('field'))
示例#13
0
 def test_load_default(self):
     x = ExpressionDict({"field": "${injected.value}"})
     self.assertEqual("MISSING", x.get("missing", "MISSING"))
示例#14
0
 def test_load_tail_not_found(self):
     x = ExpressionDict({"field": "${injected.value}", "injected": {}})
     self.assertEqual("${injected.value}", x.get("field"))
示例#15
0
 def test_load_default(self):
     x = ExpressionDict({'field': '${injected.value:HELLO}'})
     self.assertEqual('HELLO', x.get('field'))
示例#16
0
 def test_load_not_found(self):
     x = ExpressionDict({'field': '${injected.value}'})
     self.assertEqual('${injected.value}', x.get('field', None))
     self.assertEqual('${injected.value}', x['field'])
示例#17
0
 def test_load_composite_value(self):
     x = ExpressionDict({'a': 'A', 'b': 'B', 'test': '${a}/${b}'})
     self.assertEqual('A/B', x.get('test'))
示例#18
0
 def test_load_default(self):
     x = ExpressionDict({"field": "${injected.value:HELLO}"})
     self.assertEqual("HELLO", x.get("field"))
示例#19
0
 def test_load_key_not_found(self):
     x = ExpressionDict({"field": "${injected.value}", "injected": {}})
     self.assertIsNone(x.get("unknown"))
     with self.assertRaises(KeyError):
         x["unknown"]
示例#20
0
 def test_load_transitive(self):
     x = ExpressionDict({
         "field": "${injected.value}",
         "injected.value": "HELLO"
     })
     self.assertEqual("HELLO", x.get("field"))
示例#21
0
 def test_load_default(self):
     x = ExpressionDict({'field': '${injected.value}'})
     self.assertEqual('MISSING', x.get('missing', 'MISSING'))
示例#22
0
 def test_load_default(self):
   x = ExpressionDict({'field': '${injected.value}'})
   self.assertEqual('MISSING', x.get('missing', 'MISSING'))
示例#23
0
 def test_load_tail_not_found(self):
     x = ExpressionDict({'field': '${injected.value}', 'injected': {}})
     self.assertEqual('${injected.value}', x.get('field'))
示例#24
0
 def test_load_not_found(self):
   x = ExpressionDict({'field': '${injected.value}'})
   self.assertEqual('${injected.value}', x.get('field', None))
   self.assertEqual('${injected.value}', x['field'])
示例#25
0
 def test_load_transitive(self):
     x = ExpressionDict({
         'field': '${injected.value}',
         'injected.value': 'HELLO'
     })
     self.assertEqual('HELLO', x.get('field'))
示例#26
0
 def test_load_tail_not_found(self):
   x = ExpressionDict({'field': '${injected.value}', 'injected': {}})
   self.assertEqual('${injected.value}', x.get('field'))
示例#27
0
 def test_load_key_not_found(self):
     x = ExpressionDict({'field': '${injected.value}', 'injected': {}})
     self.assertIsNone(x.get('unknown'))
     with self.assertRaises(KeyError):
         x['unknown']
示例#28
0
 def test_load_default(self):
   x = ExpressionDict({'field': '${injected.value:HELLO}'})
   self.assertEqual('HELLO', x.get('field'))
示例#29
0
 def test_load_transitive(self):
   x = ExpressionDict({'field': '${injected.value}',
                       'injected.value': 'HELLO'})
   self.assertEqual('HELLO', x.get('field'))
示例#30
0
 def test_load_composite_value(self):
     x = ExpressionDict({"a": "A", "b": "B", "test": "${a}/${b}"})
     self.assertEqual("A/B", x.get("test"))