ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ILIAS\Tests\Setup\ClassFinderTest Class Reference
+ Inheritance diagram for ILIAS\Tests\Setup\ClassFinderTest:
+ Collaboration diagram for ILIAS\Tests\Setup\ClassFinderTest:

Public Member Functions

 testClassImplementsInterface ()
 
 testClassUsesAttribute ()
 
 testGenericClassMatching ()
 

Detailed Description

Definition at line 139 of file ClassFinderTest.php.

Member Function Documentation

◆ testClassImplementsInterface()

ILIAS\Tests\Setup\ClassFinderTest::testClassImplementsInterface ( )

Definition at line 141 of file ClassFinderTest.php.

141  : void
142  {
143  $finder = new ImplementationOfInterfaceFinder();
144  $this->assertTrue($finder->isClassMatching(TestInterface1::class, new \ReflectionClass(TestClass1::class)));
145  $this->assertTrue($finder->isClassMatching(TestInterface2::class, new \ReflectionClass(TestClass2::class)));
146  $this->assertTrue($finder->isClassMatching(TestInterface1::class, new \ReflectionClass(TestClass3::class)));
147  $this->assertTrue($finder->isClassMatching(TestInterface2::class, new \ReflectionClass(TestClass3::class)));
148 
149  $this->assertFalse($finder->isClassMatching(TestInterface3::class, new \ReflectionClass(TestClass3::class)));
150  $this->assertFalse($finder->isClassMatching(TestInterface3::class, new \ReflectionClass(TestClass2::class)));
151  $this->assertFalse($finder->isClassMatching(TestInterface3::class, new \ReflectionClass(TestClass1::class)));
152  }

◆ testClassUsesAttribute()

ILIAS\Tests\Setup\ClassFinderTest::testClassUsesAttribute ( )

Definition at line 154 of file ClassFinderTest.php.

154  : void
155  {
156  $finder = new UsageOfAttributeFinder();
157  $this->assertTrue($finder->isClassMatching(TestAttribute1::class, new \ReflectionClass(TestClass1::class)));
158  $this->assertTrue($finder->isClassMatching(TestAttribute2::class, new \ReflectionClass(TestClass2::class)));
159  $this->assertTrue($finder->isClassMatching(TestAttribute1::class, new \ReflectionClass(TestClass3::class)));
160  $this->assertTrue($finder->isClassMatching(TestAttribute2::class, new \ReflectionClass(TestClass3::class)));
161 
162  $this->assertFalse($finder->isClassMatching(TestAttribute3::class, new \ReflectionClass(TestClass3::class)));
163  $this->assertFalse($finder->isClassMatching(TestAttribute3::class, new \ReflectionClass(TestClass2::class)));
164  $this->assertFalse($finder->isClassMatching(TestAttribute3::class, new \ReflectionClass(TestClass1::class)));
165  }

◆ testGenericClassMatching()

ILIAS\Tests\Setup\ClassFinderTest::testGenericClassMatching ( )

Definition at line 167 of file ClassFinderTest.php.

References $r.

167  : void
168  {
169  $finder = new TestAbstractOfFinder();
170  $finder->class_names = [
171  TestClass1::class,
172  TestClass2::class,
173  TestClass3::class
174  ];
175 
176  $all_true = fn (\ReflectionClass $r): bool => true;
177  $expected = [
178  TestClass1::class,
179  TestClass2::class,
180  TestClass3::class
181  ];
182  $this->assertEquals($expected, iterator_to_array($finder->getMatchingClassNames($all_true)));
183 
184  $all_false = fn (\ReflectionClass $r): bool => false;
185  $expected = [];
186  $this->assertEquals($expected, iterator_to_array($finder->getMatchingClassNames($all_false)));
187 
188  $only_class1 = fn (\ReflectionClass $r): bool => $r->getName() === TestClass1::class;
189  $expected = [
190  TestClass1::class
191  ];
192  $this->assertEquals($expected, iterator_to_array($finder->getMatchingClassNames($only_class1)));
193  }
$r

The documentation for this class was generated from the following file: