/** * @see http://it.wikipedia.org/wiki/File:Ricerca_operativa_percorso_minimo_09.gif */ public function testWikipediaExample() { $graph = new Graph(); $home = new Vertex('home'); $a = new Vertex('a'); $b = new Vertex('b'); $c = new Vertex('c'); $d = new Vertex('d'); $e = new Vertex('e'); $office = new Vertex('office'); $graph->add($home); $graph->add($a); $graph->add($b); $graph->add($c); $graph->add($d); $graph->add($e); $graph->add($office); $home->connect($a, 2); $home->connect($d, 8); $a->connect($b, 6); $a->connect($c, 2); $b->connect($office, 5); $c->connect($d, 2); $c->connect($e, 9); $d->connect($e, 3); $e->connect($office); $algorithm = new Dijkstra($graph); $algorithm->setStartingVertex($home); $algorithm->setEndingVertex($office); $this->assertEquals(array($home, $a, $c, $d, $e, $office), $algorithm->solve()); }