Bearsampp 2026.9.23
Loading...
Searching...
No Matches
TopologicalSorterTest.php
Go to the documentation of this file.
1<?php
2require_once dirname(__FILE__) . '/helper.inc';
3require_once 'Structures/Graph/Manipulator/TopologicalSorter.php';
4
5class TopologicalSorterTest extends \PHPUnit\Framework\TestCase
6{
7 public function testSort()
8 {
9 $graph = new Structures_Graph();
10
11 $name1 = 'node1';
12 $node1 = new Structures_Graph_Node();
13 $node1->setData($name1);
14 $graph->addNode($node1);
15
16 $name11 = 'node11';
17 $node11 = new Structures_Graph_Node();
18 $node11->setData($name11);
19 $graph->addNode($node11);
20 $node1->connectTo($node11);
21
22 $name12 = 'node12';
23 $node12 = new Structures_Graph_Node();
24 $node12->setData($name12);
25 $graph->addNode($node12);
26 $node1->connectTo($node12);
27
28 $name121 = 'node121';
29 $node121 = new Structures_Graph_Node();
30 $node121->setData($name121);
31 $graph->addNode($node121);
32 $node12->connectTo($node121);
33
34 $name2 = 'node2';
35 $node2 = new Structures_Graph_Node();
36 $node2->setData($name2);
37 $graph->addNode($node2);
38
39 $name21 = 'node21';
40 $node21 = new Structures_Graph_Node();
41 $node21->setData($name21);
42 $graph->addNode($node21);
43 $node2->connectTo($node21);
44
46 $this->assertCount(2, $nodes[0]);
47 $this->assertEquals('node1', $nodes[0][0]->getData());
48 $this->assertEquals('node2', $nodes[0][1]->getData());
49
50 $this->assertCount(3, $nodes[1]);
51 $this->assertEquals('node11', $nodes[1][0]->getData());
52 $this->assertEquals('node12', $nodes[1][1]->getData());
53 $this->assertEquals('node21', $nodes[1][2]->getData());
54
55 $this->assertCount(1, $nodes[2]);
56 $this->assertEquals('node121', $nodes[2][0]->getData());
57 }
58}
59?>