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_int(self): n = Node("node") n.create_parameter("p1", 1) n.create_parameter("p2", "${p1}") n.flatten() n.expand() self.assertEqual(n.get_parameter("p2").expanded_value, 1)
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_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_save_node_with_dict_parameter(self): node = Node("node") d = {"a": 1, "b": 2, "c": 3} node.create_parameter("dict", d) node.flatten() node.expand() node.save() retrieved = Node.objects.get(name="node") self.assertEqual(retrieved.get_parameter("dict").expanded_value, d)
def test_save_node_with_list_parameter2(self): node = Node("node") l = [1, "b", 3] node.create_parameter("list", l) node.flatten() node.expand() node.save() retrieved = Node.objects.get(name="node") self.assertEqual(retrieved.get_parameter("list").expanded_value, l)
def test_save_node_with_string_macro(self): node = Node("node") node.create_parameter("p1", "v1") node.create_parameter("p2", "${p1}") node.flatten() node.expand() node.save() retrieved = Node.objects.get(name="node") self.assertEqual(retrieved.get_parameter("p1").expanded_value, retrieved.get_parameter("p2").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_save_node_with_macro_in_list(self): node = Node("node") l = [1, "b", "${p1}"] node.create_parameter("list", l) node.create_parameter("p1", 3) node.flatten() node.expand() node.save() retrieved = Node.objects.get(name="node") self.assertEqual(retrieved.get_parameter("list").expanded_value[2], "3")
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)