From 590d8e38c381b9cf426e07ce6370b446e779bb5f Mon Sep 17 00:00:00 2001 From: Alexander Kochetov Date: Sat, 3 Jan 2015 18:09:47 +0300 Subject: [PATCH] Added new ArrayDataSet for unit tests purposes --- tests/ArrayDataSet.php | 62 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/ArrayDataSet.php 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]; + } +}