def test_get_object_by_name_success(self): node1 = Node(name="set") node2 = Node(name="Reset") node3 = Node(name="3") nodes = NodeList([node1, node2, node3]) assert nodes.get_object_by_name("set") == node1 assert nodes.get_object_by_name("Reset") == node2 assert nodes.get_object_by_name("3") == node3
def test_get_object_by_name_fail_case_sensitive(self): node1 = Node(name="set") node2 = Node(name="2") node3 = Node(name="3") nodes = NodeList([node1, node2, node3]) with pytest.raises(ValueError) as ex: nodes.get_object_by_name("Set") assert str(ex.value ) == f"Node Set not found. Valid node names are (set, 2, 3)"
def test_get_object_by_name_fails(self): node1 = Node(name="1") node2 = Node(name="2") node3 = Node(name="3") nodes = NodeList([node1, node2, node3]) with pytest.raises(ValueError) as ex: nodes.get_object_by_name("4") assert str( ex.value) == f"Node 4 not found. Valid node names are (1, 2, 3)"
def test_str(self): a = OneOutputComponent( inputs=[Node(name="node1"), Node(name="node2", state=State.high)], name="my component", ) a._outputs = NodeList([Node(name="output")]) assert ( str(a) == "my component: (node1: State.low, node2: State.high) -> (output: State.low)" )
def test_str(self): a = MultipleOutputComponent( inputs=[Node(name="node1"), Node(name="node2", state=State.high)], name="my component", ) a._outputs = NodeList( [Node(name="output1"), Node(name="output2", state=State.high)]) assert str(a) == ( "my component: (node1: State.low, node2: State.high) -> (output1: State.low, output2: State.high)" )
def test_validation_expected_names_missing(self): nodes = NodeList([Node(name="2")]) with pytest.raises(ValueError) as ex: nodes.validate("element", expected_names=["2", "3"]) assert str(ex.value) == f"The following node names were missing: 3"
def test_validation_expected_names_success(self): nodes = NodeList([Node(name="1"), Node(name="2")]) nodes.validate("element", expected_names=["1", "2"])
def test_validation_maximum_fails(self): nodes = NodeList([Node(name="1"), Node(name="2")]) with pytest.raises(ValueError) as ex: nodes.validate("element", max_length=1) assert str(ex.value) == f"element must have a maximum of 1 inputs."
def test_validation_maximum_success(self): nodes = NodeList([Node(name="1"), Node(name="2")]) nodes.validate("element", max_length=2)
def test_str(self): a = NodeList([Node(name="node", state=State.high)]) assert str(a) == "[node: State.high]"