コード例 #1
0
ファイル: test_nexus.py プロジェクト: cverstege/kafe2
    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)
コード例 #2
0
ファイル: test_nexus.py プロジェクト: cverstege/kafe2
 def test_replace_child(self):
     par_a = Parameter(4)
     par_b = Parameter(5)
     par_c = Parameter(6)
     par_a.add_child(par_b)
     self.assertEqual(par_a.get_children(), [par_b])
     with self.assertRaises(NodeException):
         par_a.replace_child(current_child=par_c, new_child=par_b)
     par_a.replace_child(current_child=par_b, new_child=par_c)
     with self.assertRaises(NodeException):
         par_a.replace_child(current_child=par_b, new_child=par_c)
     self.assertEqual(par_a.get_children(), [par_c])
     par_a.replace_child(current_child=par_c, new_child=7)
     self.assertNotEqual(par_a.get_children(), [par_b])
     self.assertNotEqual(par_a.get_children(), [par_c])
     self.assertIs(type(par_a.get_children()[0]), Parameter)
コード例 #3
0
ファイル: test_nexus.py プロジェクト: cverstege/kafe2
    def test_node_set_children(self):
        par = Parameter(3, name='par')
        child_1 = Parameter(1, name='child_1')
        child_2 = Parameter(2, name='child_2')

        par.set_children([child_1, child_2])

        self.assertEqual(par.get_children(), [child_1, child_2])
コード例 #4
0
ファイル: test_nexus.py プロジェクト: cverstege/kafe2
    def test_node_remove_child(self):
        par = Parameter(3, name='par')
        child_1 = Parameter(1, name='child_1')
        child_2 = Parameter(2, name='child_2')

        par.set_children([child_1, child_2])
        par.remove_child(child_1)

        self.assertEqual(par.get_children(), [child_2])

        with self.assertRaises(TypeError):
            par.remove_child("notanode")