55namespace Arkitect \Tests \Unit \Expressions \ForClasses ;
66
77use Arkitect \Analyzer \ClassDescription ;
8+ use Arkitect \Analyzer \ClassDescriptionBuilder ;
89use Arkitect \Analyzer \FullyQualifiedClassName ;
910use Arkitect \Expression \ForClasses \IsA ;
1011use Arkitect \Rules \Violations ;
@@ -21,17 +22,11 @@ public function test_it_should_have_no_violation_when_it_implements(): void
2122 {
2223 $ interface = FruitInterface::class;
2324 $ isA = new IsA ($ interface );
24- $ classDescription = new ClassDescription (
25- FullyQualifiedClassName::fromString (CavendishBanana::class),
26- [],
27- [FullyQualifiedClassName::fromString ($ interface )],
28- null ,
29- false ,
30- false ,
31- false ,
32- false ,
33- false
34- );
25+ $ classDescription = (new ClassDescriptionBuilder ())
26+ ->setFilePath ('src/Foo.php ' )
27+ ->setClassName (CavendishBanana::class)
28+ ->addInterface ($ interface , 10 )
29+ ->build ();
3530
3631 $ violations = new Violations ();
3732 $ isA ->evaluate ($ classDescription , $ violations , '' );
@@ -43,17 +38,11 @@ public function test_it_should_have_no_violation_when_it_extends(): void
4338 {
4439 $ class = Banana::class;
4540 $ isA = new IsA ($ class );
46- $ classDescription = new ClassDescription (
47- FullyQualifiedClassName::fromString (DwarfCavendishBanana::class),
48- [],
49- [],
50- FullyQualifiedClassName::fromString ($ class ),
51- false ,
52- false ,
53- false ,
54- false ,
55- false
56- );
41+ $ classDescription = (new ClassDescriptionBuilder ())
42+ ->setFilePath ('src/Foo.php ' )
43+ ->setClassName (DwarfCavendishBanana::class)
44+ ->addExtends ($ class , 10 )
45+ ->build ();
5746
5847 $ violations = new Violations ();
5948 $ isA ->evaluate ($ classDescription , $ violations , '' );
@@ -66,17 +55,10 @@ public function test_it_should_have_violation_if_it_doesnt_extend_nor_implement(
6655 $ interface = FruitInterface::class;
6756 $ class = Banana::class;
6857 $ isA = new IsA ($ class , $ interface );
69- $ classDescription = new ClassDescription (
70- FullyQualifiedClassName::fromString (Dog::class),
71- [],
72- [],
73- null ,
74- false ,
75- false ,
76- false ,
77- false ,
78- false
79- );
58+ $ classDescription = (new ClassDescriptionBuilder ())
59+ ->setFilePath ('src/Foo.php ' )
60+ ->setClassName (Dog::class)
61+ ->build ();
8062
8163 $ violations = new Violations ();
8264 $ isA ->evaluate ($ classDescription , $ violations , '' );
0 commit comments