Example #1
0
 /**
  * @dataProvider add_edge_provider
  *
  * @param Graph $graph
  * @param Vertex $source
  * @param Vertex $target
  * @param bool $expected_return
  * @param array $expected_vertices
  */
 public function testAddEdge(Graph $graph, Vertex $source, Vertex $target, $expected_return, $expected_vertices)
 {
     $this->assertEquals($expected_return, $graph->add_edge($source, $target));
     foreach ($expected_vertices as $vertex) {
         $this->assertTrue($graph->get_vertices()->contains($vertex));
         $this->assertTrue($source->outgoing_edges->contains($graph->get_edge($source, $target)));
         $this->assertTrue($target->incoming_edges->contains($graph->get_edge($source, $target)));
     }
     $this->assertTrue($graph->has_edge($source, $target));
 }