def main(): """main function""" node1 = GraphNode(name="1", value=1) node2 = GraphNode(name="2", value=2) node3 = GraphNode(name="3", value=3) node4 = GraphNode(name="4", value=4) node1.add_children([(node3, 3), (node4, 10)]) node3.add_children([(node2, 1), (node1, 2)]) node4.add_children([(node2, 4)]) node5 = GraphNode(name="5", value=5, children=[(node1, 10)]) graph = Graph([node1, node2, node3, node4]) graph.add_node(node5) print(shortest_path(graph, node1, node2, 0, []))