Пример #1
0
 /**
  * Provide tests to test suite
  *
  * @param  unittest.TestSuite $suite
  * @param  var[] $arguments
  * @return void
  */
 public function provideTo($suite, $arguments)
 {
     if (null === $this->method) {
         return $suite->addTestClass($this->testClass, $arguments);
     } else {
         $suite->addTest($this->testClass->getConstructor()->newInstance(array_merge([$this->method], (array) $arguments)));
     }
 }
 /**
  * Provide tests to test suite
  *
  * @param  unittest.TestSuite $suite
  * @param  var[] $arguments
  * @return void
  */
 public function provideTo($suite, $arguments)
 {
     $section = $this->properties->getFirstSection();
     do {
         if ('this' === $section) {
             continue;
         }
         // Ignore special section
         $suite->addTestClass(XPClass::forName($this->properties->readString($section, 'class')), $arguments ?: $this->properties->readArray($section, 'args'));
     } while ($section = $this->properties->getNextSection());
 }
Пример #3
0
 /**
  * Provide tests from a given package to the test suite. Handles recursion.
  *
  * @param  lang.reflect.Package $package
  * @param  unittest.TestSuite $suite
  * @param  var[] $arguments
  * @return void
  */
 private function provideFrom($package, $suite, $arguments)
 {
     foreach ($package->getClasses() as $class) {
         if ($class->isSubclassOf(TestCase::class) && !Modifiers::isAbstract($class->getModifiers())) {
             $suite->addTestClass($class, $arguments);
         }
     }
     if ($this->recursive) {
         foreach ($package->getPackages() as $package) {
             $this->provideFrom($package, $suite, $arguments);
         }
     }
 }
Пример #4
0
 /**
  * Provide tests to test suite
  *
  * @param  unittest.TestSuite $suite
  * @param  var[] $arguments
  * @return void
  * @throws lang.IllegalArgumentException if no tests are found
  */
 public function provideTo($suite, $arguments)
 {
     $it = new FilteredIOCollectionIterator(new FileCollection($this->loader->path), new ExtensionEqualsFilter(\xp::CLASS_FILE_EXT), true);
     $l = strlen($this->loader->path);
     $e = -strlen(\xp::CLASS_FILE_EXT);
     $empty = true;
     foreach ($it as $element) {
         $class = $this->loader->loadClass(strtr(substr($element->getUri(), $l, $e), DIRECTORY_SEPARATOR, '.'));
         if ($class->isSubclassOf(TestCase::class) && !Modifiers::isAbstract($class->getModifiers())) {
             $suite->addTestClass($class, $arguments);
             $empty = false;
         }
     }
     if ($empty) {
         throw new IllegalArgumentException('Cannot find any test cases in ' . $this->loader->toString());
     }
 }
 /**
  * Provide tests to test suite
  *
  * @param  unittest.TestSuite $suite
  * @param  var[] $arguments
  * @return void
  */
 public function provideTo($suite, $arguments)
 {
     $suite->addTest($this->testClass->newInstance('run'));
 }
 /**
  * Provide tests to test suite
  *
  * @param  unittest.TestSuite $suite
  * @param  var[] $arguments
  * @return void
  */
 public function provideTo($suite, $arguments)
 {
     $suite->addTestClass($this->loader->loadUri($this->uri), $arguments);
 }