public function testDirected() { $n = 8; $loader = new CompleteGraph($n); $loader->setEnableDirectedEdges(true); $graph = $loader->createGraph(); $this->assertEquals($n, count($graph->getVertices())); $this->assertEquals($n * ($n - 1), count($graph->getEdges())); // n*(n-1) for directed graphs $alg = new Directed($graph); $this->assertTrue($alg->hasDirected()); $alg = new Complete($graph); $this->assertTrue($alg->isComplete()); }
public function testAdditionalEdgesToNotAffectCompleteness() { // 1 -> 2 // 1 -- 2 // 2 -> 1 // 1 -> 1 $graph = new Graph(); $graph->createVertex(1)->createEdgeTo($graph->createVertex(2)); $graph->getVertex(1)->createEdge($graph->getVertex(2)); $graph->getVertex(2)->createEdgeTo($graph->getVertex(1)); $graph->getVertex(1)->createEdgeTo($graph->getVertex(1)); $alg = new AlgorithmComplete($graph); $this->assertTrue($alg->isComplete()); }