private function loadFromIterator(\Iterator $iterator)
{
$includedFiles = array();
foreach ($iterator as $file) {
if (($fileName = $file->getBasename($this->fileExtension)) == $file->getBasename()) {
continue;
}
$sourceFile = realpath($file->getPathName());
require_once $sourceFile;
$includedFiles[] = $sourceFile;
}
$fixtures = array();
$declared = get_declared_classes();
// Make the declared classes order deterministic
sort($declared);
foreach ($declared as $className) {
$reflClass = new \ReflectionClass($className);
$sourceFile = $reflClass->getFileName();
if (in_array($sourceFile, $includedFiles) && !$this->isTransient($className)) {
$fixture = new $className();
$fixtures[] = $fixture;
$this->addFixture($fixture);
}
}
return $fixtures;
}