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.
62 lines
1.4 KiB
PHP
62 lines
1.4 KiB
PHP
<?php
|
|
|
|
use Fhaculty\Graph\Graph;
|
|
use Graphp\Algorithms\Symmetric as AlgorithmSymmetric;
|
|
|
|
class SymmetricTest extends TestCase
|
|
{
|
|
public function testGraphEmpty()
|
|
{
|
|
$graph = new Graph();
|
|
|
|
$alg = new AlgorithmSymmetric($graph);
|
|
|
|
$this->assertTrue($alg->isSymmetric());
|
|
}
|
|
|
|
public function testGraphIsolated()
|
|
{
|
|
$graph = new Graph();
|
|
$graph->createVertex(1);
|
|
$graph->createVertex(2);
|
|
|
|
$alg = new AlgorithmSymmetric($graph);
|
|
|
|
$this->assertTrue($alg->isSymmetric());
|
|
}
|
|
|
|
public function testGraphSingleArcIsNotSymmetricr()
|
|
{
|
|
// 1 -> 2
|
|
$graph = new Graph();
|
|
$graph->createVertex(1)->createEdgeTo($graph->createVertex(2));
|
|
|
|
$alg = new AlgorithmSymmetric($graph);
|
|
|
|
$this->assertFalse($alg->isSymmetric());
|
|
}
|
|
|
|
public function testGraphAntiparallelIsSymmetricr()
|
|
{
|
|
// 1 -> 2 -> 1
|
|
$graph = new Graph();
|
|
$graph->createVertex(1)->createEdgeTo($graph->createVertex(2));
|
|
$graph->getVertex(2)->createEdgeTo($graph->getVertex(1));
|
|
|
|
$alg = new AlgorithmSymmetric($graph);
|
|
|
|
$this->assertTrue($alg->isSymmetric());
|
|
}
|
|
|
|
public function testGraphSingleUndirectedIsSymmetricr()
|
|
{
|
|
// 1 -- 2
|
|
$graph = new Graph();
|
|
$graph->createVertex(1)->createEdge($graph->createVertex(2));
|
|
|
|
$alg = new AlgorithmSymmetric($graph);
|
|
|
|
$this->assertTrue($alg->isSymmetric());
|
|
}
|
|
}
|