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_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_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")
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"))
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"))
def test_load_composite_value(self): x = ExpressionDict({'a':'A', 'b':'B', 'test':'${a}/${b}'}) self.assertEqual('A/B', x.get('test'))
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"])
def test_load_key_not_found(self): x = ExpressionDict({'field': '${injected.value}', 'injected': {}}) self.assertIsNone(x.get('unknown')) with self.assertRaises(KeyError): x['unknown']
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_default(self): x = ExpressionDict({"field": "${injected.value}"}) self.assertEqual("MISSING", x.get("missing", "MISSING"))
def test_load_tail_not_found(self): x = ExpressionDict({"field": "${injected.value}", "injected": {}}) self.assertEqual("${injected.value}", x.get("field"))
def test_load_default(self): x = ExpressionDict({'field': '${injected.value:HELLO}'}) self.assertEqual('HELLO', x.get('field'))
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'])
def test_load_composite_value(self): x = ExpressionDict({'a': 'A', 'b': 'B', 'test': '${a}/${b}'}) self.assertEqual('A/B', x.get('test'))
def test_load_default(self): x = ExpressionDict({"field": "${injected.value:HELLO}"}) self.assertEqual("HELLO", x.get("field"))
def test_load_key_not_found(self): x = ExpressionDict({"field": "${injected.value}", "injected": {}}) self.assertIsNone(x.get("unknown")) with self.assertRaises(KeyError): x["unknown"]
def test_load_transitive(self): x = ExpressionDict({ "field": "${injected.value}", "injected.value": "HELLO" }) self.assertEqual("HELLO", x.get("field"))
def test_load_default(self): x = ExpressionDict({'field': '${injected.value}'}) self.assertEqual('MISSING', x.get('missing', 'MISSING'))
def test_load_tail_not_found(self): x = ExpressionDict({'field': '${injected.value}', 'injected': {}}) self.assertEqual('${injected.value}', x.get('field'))
def test_load_transitive(self): x = ExpressionDict({ 'field': '${injected.value}', 'injected.value': 'HELLO' }) self.assertEqual('HELLO', x.get('field'))
def test_load_transitive(self): x = ExpressionDict({'field': '${injected.value}', 'injected.value': 'HELLO'}) self.assertEqual('HELLO', x.get('field'))
def test_load_composite_value(self): x = ExpressionDict({"a": "A", "b": "B", "test": "${a}/${b}"}) self.assertEqual("A/B", x.get("test"))