Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Commit 13e4dc6

Browse files
committed
refactor: Simplify connection tests by removing redundant setup and verifying node relationships directly
1 parent 834c609 commit 13e4dc6

File tree

5 files changed

+58
-72
lines changed

5 files changed

+58
-72
lines changed

tests/ClassDiagramRenderer/Node/Connector/CompositionConnectorTest.php

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,22 @@ class CompositionConnectorTest extends TestCase
2121
*/
2222
public function testConnect(): void
2323
{
24-
// Set up diagram nodes
25-
$containerNode = new DiagramClass('Container');
26-
$containedNode = new DiagramClass('Contained');
27-
28-
// Set up nodes collection
24+
$container = new DiagramClass('Container');
25+
$contained = new DiagramClass('Contained');
26+
2927
$nodes = new Nodes();
30-
$nodes->add($containedNode);
31-
$nodes->add($containerNode);
32-
33-
// Create connector
28+
$nodes->add($container);
29+
$nodes->add($contained);
30+
3431
$connector = new CompositionConnector('Container', ['Contained']);
35-
36-
// Connect the nodes
3732
$connector->connect($nodes);
38-
39-
// Verify the connection
40-
$relationships = $containerNode->relationships();
41-
$this->assertCount(1, $relationships);
42-
$this->assertStringContainsString('Container *-- Contained: composition', $relationships[0]->render());
33+
34+
$node = $nodes->findByName('Container');
35+
36+
$expected = new DiagramClass('Container');
37+
$expected->composition($contained);
38+
39+
$this->assertEquals($node, $expected);
4340
}
4441

4542
/**

tests/ClassDiagramRenderer/Node/Connector/DependencyConnectorTest.php

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,22 @@ class DependencyConnectorTest extends TestCase
2121
*/
2222
public function testConnect(): void
2323
{
24-
// Set up diagram nodes
25-
$dependentNode = new DiagramClass('Dependent');
26-
$dependencyNode = new DiagramClass('Dependency');
27-
28-
// Set up nodes collection
24+
$dependent = new DiagramClass('Dependent');
25+
$dependency = new DiagramClass('Dependency');
26+
2927
$nodes = new Nodes();
30-
$nodes->add($dependencyNode);
31-
$nodes->add($dependentNode);
32-
33-
// Create connector
28+
$nodes->add($dependent);
29+
$nodes->add($dependency);
30+
3431
$connector = new DependencyConnector('Dependent', ['Dependency']);
35-
36-
// Connect the nodes
3732
$connector->connect($nodes);
38-
39-
// Verify the connection
40-
$relationships = $dependentNode->relationships();
41-
$this->assertCount(1, $relationships);
42-
$this->assertStringContainsString('Dependent ..> Dependency: dependency', $relationships[0]->render());
33+
34+
$node = $nodes->findByName('Dependent');
35+
36+
$expected = new DiagramClass('Dependent');
37+
$expected->depend($dependency);
38+
39+
$this->assertEquals($node, $expected);
4340
}
4441

4542
/**

tests/ClassDiagramRenderer/Node/Connector/InheritanceConnectorTest.php

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,22 @@ class InheritanceConnectorTest extends TestCase
2222
*/
2323
public function testConnect(): void
2424
{
25-
// Set up diagram nodes
26-
$childNode = new DiagramClass('Child');
27-
$parentNode = new DiagramClass('Parent');
28-
29-
// Set up nodes collection
25+
$child = new DiagramClass('Child');
26+
$parent = new DiagramClass('Parent');
27+
3028
$nodes = new Nodes();
31-
$nodes->add($parentNode);
32-
$nodes->add($childNode);
33-
34-
// Create connector
29+
$nodes->add($child);
30+
$nodes->add($parent);
31+
3532
$connector = new InheritanceConnector('Child', ['Parent']);
36-
37-
// Connect the nodes
3833
$connector->connect($nodes);
39-
40-
// Verify the connection
41-
$relationships = $childNode->relationships();
42-
$this->assertCount(1, $relationships);
43-
$this->assertStringContainsString('Parent <|-- Child: inheritance', $relationships[0]->render());
34+
35+
$node = $nodes->findByName('Child');
36+
37+
$expected = new DiagramClass('Child');
38+
$expected->extends($parent);
39+
40+
$this->assertEquals($node, $expected);
4441
}
4542

4643
/**

tests/ClassDiagramRenderer/Node/Connector/RealizationConnectorTest.php

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,22 @@ class RealizationConnectorTest extends TestCase
2222
*/
2323
public function testConnect(): void
2424
{
25-
// Set up diagram nodes
26-
$classNode = new DiagramClass('TestClass');
27-
$interfaceNode = new DiagramInterface('TestInterface');
28-
29-
// Set up nodes collection
25+
$class = new DiagramClass('TestClass');
26+
$interface = new DiagramInterface('TestInterface');
27+
3028
$nodes = new Nodes();
31-
$nodes->add($interfaceNode);
32-
$nodes->add($classNode);
33-
34-
// Create connector
29+
$nodes->add($class);
30+
$nodes->add($interface);
31+
3532
$connector = new RealizationConnector('TestClass', ['TestInterface']);
36-
37-
// Connect the nodes
3833
$connector->connect($nodes);
39-
40-
// Verify the connection
41-
$relationships = $classNode->relationships();
42-
$this->assertCount(1, $relationships);
43-
$this->assertStringContainsString('TestInterface <|.. TestClass: realization', $relationships[0]->render());
34+
35+
$node = $nodes->findByName('TestClass');
36+
37+
$expected = new DiagramClass('TestClass');
38+
$expected->implements($interface);
39+
40+
$this->assertEquals($node, $expected);
4441
}
4542

4643
/**

tests/ClassDiagramRenderer/Node/Connector/TraitUsageConnectorTest.php

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,19 @@ public function testConnectRegistersTraitUsageOnly(): void
2222
$using = new DiagramClass('Using');
2323
$trait = new DiagramTrait('T');
2424

25-
// Trait declares composition(A) and dependency(B)
26-
$trait->composition(new DiagramClass('A'));
27-
$trait->depend(new DiagramClass('B'));
28-
2925
$nodes = new Nodes();
3026
$nodes->add($using);
3127
$nodes->add($trait);
3228

3329
$connector = new TraitUsageConnector('Using', ['T']);
3430
$connector->connect($nodes);
3531

36-
// Verify via node relationships (connector application)
37-
$rendered = array_map(fn($r) => $r->render(), $using->relationships());
38-
$this->assertTrue($this->contains($rendered, 'Using *-- A: composition'));
39-
$this->assertTrue($this->contains($rendered, 'Using ..> B: dependency'));
32+
$node = $nodes->findByName('Using');
33+
34+
$expected = new DiagramClass('Using');
35+
$expected->useTrait($trait);
36+
37+
$this->assertEquals($node, $expected);
4038
}
4139

4240
/**

0 commit comments

Comments
 (0)