Example #1
0
 /**
  * AbstractGenerator constructor.
  *
  * @param string $className
  * @param string $testDirectoryName
  * @param string $sourceFile
  * @param string $targetClassName
  * @param string $targetSourceFile
  */
 public function __construct($className, $testDirectoryName, $sourceFile = '', $targetClassName = '', $targetSourceFile = '')
 {
     $this->testDirectoryName = $testDirectoryName;
     if (empty($sourceFile)) {
         $sourceFile = ClassUtils::resolveSourceFile($className);
     }
     $sourceFile = realpath($sourceFile);
     include_once $sourceFile;
     if (!class_exists($className)) {
         throw new \RuntimeException(sprintf('Could not find class "%s" in "%s".', $className, $sourceFile));
     }
     if (empty($targetClassName)) {
         $targetClassName = $this->resolveTargetClassName($className, $sourceFile, $testDirectoryName);
     }
     if (empty($targetSourceFile)) {
         $targetSourceFile = ClassUtils::resolveTargetSourceFile($className, $sourceFile, $targetClassName, $testDirectoryName, $this->isTestCaseClass());
     }
     $this->className = ClassUtils::extractClassNameInfo($className);
     $this->targetClassName = ClassUtils::extractClassNameInfo($targetClassName);
     $this->sourceFile = $sourceFile;
     $this->targetSourceFile = $targetSourceFile;
 }