/** * Get method batches. * * Identify method dependencies, and group dependents and dependees on a single methodBatch. * Use max batch size to fill batches. * * @param ParsedClass $class * @return array of MethodBatches. Each MethodBatch has an array of method names */ private function getMethodBatches($class) { $classMethods = $class->getMethods($this->options ? $this->options->annotations : array()); $maxBatchSize = $this->options && $this->options->functional ? $this->options->maxBatchSize : 0; $batches = array(); foreach ($classMethods as $method) { $tests = $this->getMethodTests($class, $method, $maxBatchSize != 0); // if filter passed to paratest then method tests can be blank if not match to filter if (!$tests) { continue; } if (($dependsOn = $this->methodDependency($method)) != null) { $this->addDependentTestsToBatchSet($batches, $dependsOn, $tests); } else { $this->addTestsToBatchSet($batches, $tests, $maxBatchSize); } } return $batches; }
private function createSuite($path, ParsedClass $class) { return new Suite($path, $this->executableTests($path, $class->getMethods($this->options ? $this->options->annotations : array())), $class->getName()); }
public function testParsedClassWithParentHasCorrectNumberOfTestMethods() { $this->parseFile($this->errorFile); $this->assertEquals(4, sizeof($this->class->getMethods())); }