def test_parameter_replace(self): par = Parameter(3, name='par') selector = Function( lambda *args: args[1], name='selector', parameters=( Parameter('bla', name='first'), par, Parameter('blup', name='third'), ), ) context = Parameter(2, name='pre_factor') * selector # store parents and children for comparison _children_before = par.get_children() _parents_before = par.get_parents() # replace node par_new = Parameter(7, name='par_new') par.replace(par_new) par_new.value = 6 self.assertEqual(context.value, 12) # retrieve new parents and children for comparison _children_after = par_new.get_children() _parents_after = par_new.get_parents() self.assertEqual(_children_before, _children_after) self.assertEqual(_parents_before, _parents_after)
def test_parameter_replace_literal(self): par = Parameter(3, name='par') selector = Function( lambda *args: args[1], name='selector', parameters=( Parameter('bla', name='first'), par, Parameter('blup', name='third'), ), ) context = Parameter(2, name='pre_factor') * selector # replace node par.replace(7) self.assertEqual(context.value, 14)