This repository was archived by the owner on Sep 15, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 5 files changed +58
-72
lines changed
tests/ClassDiagramRenderer/Node/Connector Expand file tree Collapse file tree 5 files changed +58
-72
lines changed Original file line number Diff line number Diff 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 /**
Original file line number Diff line number Diff 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 /**
Original file line number Diff line number Diff 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 /**
Original file line number Diff line number Diff 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 /**
Original file line number Diff line number Diff 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 /**
You can’t perform that action at this time.
0 commit comments