def test_nodepath_comparison(): from panda3d.core import NodePath, PandaNode path = NodePath("node") # Empty NodePath equals itself assert NodePath() == NodePath() assert not (NodePath() != NodePath()) assert not (NodePath() > NodePath()) assert not (NodePath() < NodePath()) assert NodePath().compare_to(NodePath()) == 0 # Empty NodePath does not equal non-empty NodePath assert NodePath() != path assert not (NodePath() == path) assert NodePath().compare_to(path) != 0 assert path != NodePath() assert not (path == NodePath()) assert path.compare_to(NodePath()) != 0 # Copy of NodePath equals original path2 = NodePath(path) assert path == path2 assert path2 == path assert not (path != path2) assert not (path2 != path) assert not (path > path2) assert not (path < path2) assert path.compare_to(path2) == 0 assert path2.compare_to(path) == 0 # NodePath pointing to copy of node is not the same path2 = NodePath(path.node().make_copy()) assert path != path2 assert path2 != path assert not (path == path2) assert not (path2 == path) assert (path2 > path) or (path > path2) assert (path2 < path) or (path < path2) assert path.compare_to(path2) != 0 assert path2.compare_to(path) != 0