MCPcopy
hub / github.com/joowani/binarytree / test_tree_validate_with_letters

Function test_tree_validate_with_letters

tests/test_tree.py:899–942  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

897
898
899def test_tree_validate_with_letters() -> None:
900 class TestNode(Node):
901 def __setattr__(self, attr: str, value: Any) -> None:
902 object.__setattr__(self, attr, value)
903
904 root = Node("A")
905 root.validate() # Should pass
906
907 root = Node("A")
908 root.left = Node("B")
909 root.validate() # Should pass
910
911 root = Node("A")
912 root.left = Node("B")
913 root.right = Node(3)
914 root.validate() # Should pass
915
916 root = Node("A")
917 root.left = Node("B")
918 root.right = Node(3)
919 root.left.left = Node(4)
920 root.left.right = Node(5)
921 root.left.right.left = Node(6)
922 root.validate() # Should pass
923
924 root = TestNode("A")
925 root.left = "not_a_node" # type: ignore
926 with pytest.raises(NodeTypeError) as err1:
927 root.validate()
928 assert str(err1.value) == "invalid node instance at index 1"
929
930 root = TestNode("A")
931 root.right = TestNode("B")
932 root.right.val = EMPTY_LIST
933 with pytest.raises(NodeValueError) as err2:
934 root.validate()
935 assert str(err2.value) == "invalid node value at index 2"
936
937 root = TestNode("A")
938 root.left = TestNode("B")
939 root.left.right = root
940 with pytest.raises(NodeReferenceError) as err3:
941 root.validate()
942 assert str(err3.value) == "cyclic reference at Node(A) (level-order index 4)"
943
944
945def test_tree_properties() -> None:

Callers

nothing calls this directly

Calls 3

NodeClass · 0.90
TestNodeClass · 0.85
validateMethod · 0.80

Tested by

no test coverage detected