<?phpdeclare(strict_types=1);namespacePhpParser;abstractclassCodeTestAbstractextends\PHPUnit\Framework\TestCase{protectedfunctiongetTests($directory,$fileExtension,$chunksPerTest=2){$parser=newCodeTestParser;$allTests=[];foreach(filesInDir($directory,$fileExtension)as$fileName=>$fileContents){list($name,$tests)=$parser->parseTest($fileContents,$chunksPerTest);// first part is the name$name.=' ('.$fileName.')';$shortName=ltrim(str_replace($directory,'',$fileName),'/\\');// multiple sections possible with always two forming a pairforeach($testsas$i=>list($mode,$parts)){$dataSetName=$shortName.(count($parts)>1?'#'.$i:'');$allTests[$dataSetName]=array_merge([$name],$parts,[$mode]);}}return$allTests;}}