You are here

class PHPUnit_Util_TestSuiteIterator in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php \PHPUnit_Util_TestSuiteIterator

Iterator for test suites.

@since Class available since Release 3.1.0

Hierarchy

Expanded class hierarchy of PHPUnit_Util_TestSuiteIterator

File

vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php, line 16

View source
class PHPUnit_Util_TestSuiteIterator implements RecursiveIterator {

  /**
   * @var int
   */
  protected $position;

  /**
   * @var PHPUnit_Framework_Test[]
   */
  protected $tests;

  /**
   * @param PHPUnit_Framework_TestSuite $testSuite
   */
  public function __construct(PHPUnit_Framework_TestSuite $testSuite) {
    $this->tests = $testSuite
      ->tests();
  }

  /**
   * Rewinds the Iterator to the first element.
   */
  public function rewind() {
    $this->position = 0;
  }

  /**
   * Checks if there is a current element after calls to rewind() or next().
   *
   * @return bool
   */
  public function valid() {
    return $this->position < count($this->tests);
  }

  /**
   * Returns the key of the current element.
   *
   * @return int
   */
  public function key() {
    return $this->position;
  }

  /**
   * Returns the current element.
   *
   * @return PHPUnit_Framework_Test
   */
  public function current() {
    return $this
      ->valid() ? $this->tests[$this->position] : null;
  }

  /**
   * Moves forward to next element.
   */
  public function next() {
    $this->position++;
  }

  /**
   * Returns the sub iterator for the current element.
   *
   * @return PHPUnit_Util_TestSuiteIterator
   */
  public function getChildren() {
    return new self($this->tests[$this->position]);
  }

  /**
   * Checks whether the current element has children.
   *
   * @return bool
   */
  public function hasChildren() {
    return $this->tests[$this->position] instanceof PHPUnit_Framework_TestSuite;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHPUnit_Util_TestSuiteIterator::$position protected property
PHPUnit_Util_TestSuiteIterator::$tests protected property
PHPUnit_Util_TestSuiteIterator::current public function Returns the current element.
PHPUnit_Util_TestSuiteIterator::getChildren public function Returns the sub iterator for the current element.
PHPUnit_Util_TestSuiteIterator::hasChildren public function Checks whether the current element has children.
PHPUnit_Util_TestSuiteIterator::key public function Returns the key of the current element.
PHPUnit_Util_TestSuiteIterator::next public function Moves forward to next element.
PHPUnit_Util_TestSuiteIterator::rewind public function Rewinds the Iterator to the first element.
PHPUnit_Util_TestSuiteIterator::valid public function Checks if there is a current element after calls to rewind() or next().
PHPUnit_Util_TestSuiteIterator::__construct public function