for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace FinalizerTest\Scanner;
use Finalizer\Scanner\DirectoryClassScanner;
use PHPUnit\Framework\TestCase;
/**
* @covers \Finalizer\Scanner\DirectoryClassScanner
*/
class DirectoryClassScannerTest extends TestCase
{
* @dataProvider pathsProvider
*
* @param string[]|\Traversable $paths
* @param string[] $expectedClasses
public function testDirectoryScannerWithPaths($paths, $expectedClasses)
$found = array_values(array_map(
function (\ReflectionClass $class) {
return $class->getName();
},
(new DirectoryClassScanner())->__invoke($paths)
));
sort($found);
$this->assertEquals($expectedClasses, $found);
}
* @param string[]|array $paths
public function testDirectoryScannerWithIterator(array $paths, $expectedClasses)
$this->testDirectoryScannerWithPaths(new \ArrayIterator($paths), $expectedClasses);
* @return string[][][]
public function pathsProvider()
return [
[
[__FILE__],
[__CLASS__],
],
[__FILE__, __DIR__ . '/DirectoryFileScannerTest.php'],
[__CLASS__, DirectoryFileScannerTest::class],
__FILE__,
__DIR__ . '/../../FinalizerTestAsset/Scanner/DirectoryFileScanner/DirWithOnePhpFile/1.php'
];