Bearsampp
2026.9.23
Toggle main menu visibility
Loading...
Searching...
No Matches
TopologicalSorterTest.php
Go to the documentation of this file.
1
<?php
2
require_once dirname(__FILE__) .
'/helper.inc'
;
3
require_once
'Structures/Graph/Manipulator/TopologicalSorter.php'
;
4
5
class
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
45
$nodes =
Structures_Graph_Manipulator_TopologicalSorter::sort
($graph);
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
?>
Structures_Graph_Manipulator_TopologicalSorter\sort
static sort(&$graph)
Definition
TopologicalSorter.php:139
Structures_Graph_Node
Definition
Node.php:57
TopologicalSorterTest
Definition
TopologicalSorterTest.php:6
TopologicalSorterTest\testSort
testSort()
Definition
TopologicalSorterTest.php:7
Structures_Graph
sandbox
core
libs
php
pear
tests
Structures_Graph
tests
TopologicalSorterTest.php
Generated by
1.17.0