def test_max_path_negative_edge(self):
     self.digraph.add_edge(1, 1000, w=-1)
     with self.assertRaises(NegativeEdgeWeight):
         max_path(self.digraph, weight_attribute='w')
     self.digraph.remove_edge(1, 1000)
 def test_max_path_graph(self):
     with self.assertRaises(NotDAG):
         max_path(self.graph)
 def test_max_path_digraph_with_cycle(self):
     self.digraph.add_edge(10, 8, w=4)
     with self.assertRaises(NotDAG):
         max_path(self.digraph)
     self.digraph.remove_edge(10, 8)
 def test_max_path(self):
     pred, distance = max_path(self.digraph, weight_attribute='w')
     self.assertEqual(59, max(distance.values()))
     self.assertEqual(pred,
                      {3: 2, 4: 3, 5: 3, 6: 4,
                       7: 5, 8: 6, 9: 8, 10: 8})