def test_macro_in_dict(self): n = Node("node") n.create_parameter("p1", "v1") n.create_parameter("p2", {"a": "${p1}"}) n.flatten() n.expand() self.assertEqual(n.get_parameter("p2").expanded_value["a"], n.get_parameter("p1").expanded_value)
def test_macro_in_list(self): n = Node("node") n.create_parameter("p1", "v1") n.create_parameter("p2", ["${p1}"]) n.flatten() n.expand() self.assertEqual(n.get_parameter("p2").expanded_value[0], n.get_parameter("p1").expanded_value)
def test_macro_expansion_to_list(self): n = Node("node") n.create_parameter("p1", ["a", "b"]) n.create_parameter("p2", "${p1}") n.flatten() n.expand() self.assertEqual(n.get_parameter("p1").expanded_value, n.get_parameter("p2").expanded_value)
def test_macro_generating_expression(self): n = Node("node") n.create_parameter("p1", "${p2}") n.create_parameter("p2", "$((1+1))") n.flatten() n.expand() self.assertEqual(n.get_parameter("p1").expanded_value, n.get_parameter("p2").expanded_value)
def test_simple_expansion(self): n = Node("node") n.create_parameter("p1", "v1") n.create_parameter("p2", "${p1}") n.flatten() n.expand() self.assertEqual(n.get_parameter("p2").expanded_value, n.get_parameter("p1").expanded_value)
def test_macro_expanding_to_macro(self): n = Node("node") n.create_parameter("p1", "${p2}") n.create_parameter("p2", "${p3}") n.create_parameter("p3", "v3") n.flatten() n.expand() self.assertEqual(n.get_parameter("p1").expanded_value, n.get_parameter("p3").expanded_value)
def test_macro_expansion_nested(self): n = Node("node") n.create_parameter("p1", "${ab${p2}d}") n.create_parameter("p2", "c") n.create_parameter("abcd", "v1") n.flatten() n.expand() self.assertEqual(n.get_parameter("p1").expanded_value, n.get_parameter("abcd").expanded_value)
def test_concatenated_macros(self): n = Node("node") n.create_parameter("p1", "v1") n.create_parameter("p2", "v2") n.create_parameter("p3", "${p1}${p2}") n.flatten() n.expand() self.assertEqual(n.get_parameter("p3").expanded_value, n.get_parameter("p1").expanded_value + n.get_parameter("p2").expanded_value)
def test_macro_used_in_expression(self): n = Node("node") n.create_parameter("p1", "2") n.create_parameter("p2", "$((1+${p1}))") n.flatten() n.expand() self.assertEqual(n.get_parameter("p2").expanded_value, 3)
def test_save_node_with_string_parameter(self): node = Node("node") node.create_parameter("p1", "v1") node.flatten() node.expand() node.save() retrieved = Node.objects.get(name="node") self.assertEqual(node, retrieved) self.assertEqual(node.get_parameter("p1").expanded_value, retrieved.get_parameter("p1").expanded_value)
def test_undefined_macro2(self): n = Node("node") n.create_parameter("p1", "${p2}${p2}") n.flatten() n.expand() self.assertEqual(n.get_parameter("p1").expanded_value, n.get_parameter("p1").value)
def test_expression(self): n = Node("node") n.create_parameter("p1", "$((1+1))") n.flatten() n.expand() self.assertEqual(n.get_parameter("p1").expanded_value, 2)