HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //usr/share/pear/test/Structures_Graph/tests/AcyclicTestTest.php
<?php
require_once dirname(__FILE__) . '/helper.inc';
require_once 'Structures/Graph/Manipulator/AcyclicTest.php';

class AcyclicTestTest extends PHPUnit_Framework_TestCase
{
    public function testIsAcyclicFalse()
    {
        $graph = new Structures_Graph();
        $node1 = new Structures_Graph_Node();
        $graph->addNode($node1);

        $node2 = new Structures_Graph_Node();
        $graph->addNode($node2);
        $node1->connectTo($node2);

        $node3 = new Structures_Graph_Node();
        $graph->addNode($node3);
        $node2->connectTo($node3);

        $node3->connectTo($node1);

        $this->assertFalse(
            Structures_Graph_Manipulator_AcyclicTest::isAcyclic($graph),
            'Graph is cyclic'
        );
    }

    public function testIsAcyclicTrue()
    {
        $graph = new Structures_Graph();
        $node1 = new Structures_Graph_Node();
        $graph->addNode($node1);

        $node2 = new Structures_Graph_Node();
        $graph->addNode($node2);
        $node1->connectTo($node2);

        $node3 = new Structures_Graph_Node();
        $graph->addNode($node3);
        $node2->connectTo($node3);

        $this->assertTrue(
            Structures_Graph_Manipulator_AcyclicTest::isAcyclic($graph),
            'Graph is acyclic'
        );
    }
}
?>