예제 #1
0
class NodeDependentTestCase(TestCase):
    """Test case for triggered dependent Nodes"""

    def setUp(self):
        self.root = Input('root')
        self.dependent = ConstantNode('dependent', triggered=False)
        self.root._connect(self.dependent)
        self.triggered = ConstantNode('triggered', triggered=True)
        self.root._connect(self.triggered)

    def test_keep_dirty(self):
        """Setting a dirty Node as dirty doesn't trigger dependents"""
        triggered_nodes = self.root.set_value(DIRTY)
        self.assertEqual(set(), triggered_nodes)

    def test_set_value_triggers_dependents(self):
        """Setting a value to a dirty Node triggers dependents"""
        triggered_nodes = self.root.set_value(0)
        self.assertEqual({self.triggered}, triggered_nodes)

    def test_set_value_triggers_dependents(self):
        """Setting the previous value to an Input doesn't trigger dependents"""
        self.root.set_value(0)
        triggered_nodes = self.root.set_value(0)
        self.assertEqual(set(), triggered_nodes)

    def test_get_triggered_dependents(self):
        """Setting a value to a dirty Node triggers dependents"""
        triggered_nodes = self.root._get_triggered_dependents()
        self.assertEqual({self.triggered}, triggered_nodes)

    def test_get_deep_triggered_dependents(self):
        """Setting a value to a dirty Node triggers dependents tree"""
        child1 = ConstantNode('child1', triggered=True)
        child2 = ConstantNode('child2', triggered=True)
        self.triggered._connect(child1)
        self.triggered._connect(child2)
        triggered_nodes = self.root._get_triggered_dependents()
        self.assertEqual({self.triggered, child1, child2}, triggered_nodes)
예제 #2
0
 def test_set_value(self):
     """A value set to a dirty Node is stored in the object"""
     node = Input('name')
     node.set_value(0)
     self.assertEqual(0, node._value)
예제 #3
0
파일: test_core.py 프로젝트: akaihola/lusmu
 def test_set_value(self):
     """A value set to a dirty Node is stored in the object"""
     node = Input('name')
     node.set_value(0)
     self.assertEqual(0, node._value)