Fuente: https://github.com/chamilo/chamilo-lms/releases/download/v1.11.40/chamilo-1.11.40.zip sha256: 1cf4bf2cc7bae1ef1a1eff643235db1d552f78ddf4b6dd1e2d2dac9868679439 Snapshot independiente (rama huerfana); diffable vs 1.11.38. vendor incluido.
66 lines
1.6 KiB
PHP
66 lines
1.6 KiB
PHP
<?php
|
|
|
|
use Fhaculty\Graph\Graph;
|
|
use Graphp\Algorithms\Complete as AlgorithmComplete;
|
|
|
|
class CompleteTest extends TestCase
|
|
{
|
|
public function testGraphEmptyK0()
|
|
{
|
|
$graph = new Graph();
|
|
|
|
$alg = new AlgorithmComplete($graph);
|
|
|
|
$this->assertTrue($alg->isComplete());
|
|
}
|
|
|
|
public function testGraphSingleTrivialK1()
|
|
{
|
|
$graph = new Graph();
|
|
$graph->createVertex(1);
|
|
|
|
$alg = new AlgorithmComplete($graph);
|
|
|
|
$this->assertTrue($alg->isComplete());
|
|
}
|
|
|
|
public function testGraphSimplePairK2()
|
|
{
|
|
// 1 -- 2
|
|
$graph = new Graph();
|
|
$graph->createVertex(1)->createEdge($graph->createVertex(2));
|
|
|
|
$alg = new AlgorithmComplete($graph);
|
|
|
|
$this->assertTrue($alg->isComplete());
|
|
}
|
|
|
|
public function testGraphSingleDirectedIsNotComplete()
|
|
{
|
|
// 1 -> 2
|
|
$graph = new Graph();
|
|
$graph->createVertex(1)->createEdgeTo($graph->createVertex(2));
|
|
|
|
$alg = new AlgorithmComplete($graph);
|
|
|
|
$this->assertFalse($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());
|
|
}
|
|
}
|