diff --git a/tests/ArrayDataSet.php b/tests/ArrayDataSet.php new file mode 100644 index 0000000..b062655 --- /dev/null +++ b/tests/ArrayDataSet.php @@ -0,0 +1,62 @@ + $rows) { + $columns = array(); + + if (isset($rows[0])) { + $columns = array_keys($rows[0]); + } + + $metaData = new \PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $columns); + $table = new \PHPUnit_Extensions_Database_DataSet_DefaultTable($metaData); + + foreach ($rows AS $row) { + $table->addRow($row); + } + + $this->tables[$tableName] = $table; + } + } + + /** + * @inheritdoc + */ + protected function createIterator($reverse = false) + { + return new \PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($this->tables, $reverse); + } + + /** + * @inheritdoc + */ + public function getTable($tableName) + { + if (!isset($this->tables[$tableName])) { + throw new \InvalidArgumentException("$tableName is not a table in the current database."); + } + + return $this->tables[$tableName]; + } +}