PHPUnit_Extensions_Database_DataSet_DataSetFilter::createIterator PHP Method

createIterator() protected method

Creates an iterator over the tables in the data set. If $reverse is true a reverse iterator will be returned.
protected createIterator ( boolean $reverse = FALSE ) : PHPUnit_Extensions_Database_DataSet_ITableIterator
$reverse boolean
return PHPUnit_Extensions_Database_DataSet_ITableIterator
    protected function createIterator($reverse = FALSE)
    {
        $original_tables = $this->originalDataSet->getIterator($reverse);
        $new_tables = array();
        foreach ($original_tables as $table) {
            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
            $tableName = $table->getTableMetaData()->getTableName();
            if (!in_array($tableName, $this->includeTables) && !empty($this->includeTables) || in_array($tableName, $this->excludeTables)) {
                continue;
            } elseif (!empty($this->excludeColumns[$tableName]) || !empty($this->includeColumns[$tableName])) {
                $new_table = new PHPUnit_Extensions_Database_DataSet_TableFilter($table);
                if (!empty($this->includeColumns[$tableName])) {
                    $new_table->addIncludeColumns($this->includeColumns[$tableName]);
                }
                if (!empty($this->excludeColumns[$tableName])) {
                    $new_table->addExcludeColumns($this->excludeColumns[$tableName]);
                }
                $new_tables[] = $new_table;
            } else {
                $new_tables[] = $table;
            }
        }
        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($new_tables);
    }