public function test() { $table = new Table('table_name'); $column1 = new Column('id'); $column1->setAutoIncrement(true); $column2 = new Column('name'); $table->addColumn($column1)->addColumn($column2); $subject = new AutoIncrementTableColumnFinder(); static::assertSame($column1->getName(), $subject->getAutoIncrementColumn($table)->getName()); static::assertNull($subject->getAutoIncrementColumn(new Table('test_table'))); }
public function test() { $tableName = mt_rand(); $subject = new Table($tableName); static::assertSame($tableName, $subject->getName()); static::assertCount(0, $subject->getColumns()); $columnName = mt_rand(); $column = new Column($columnName); $subject->addColumn($column); static::assertCount(1, $subject->getColumns()); $firstColumn = reset($subject->getColumns()); static::assertSame($columnName, $firstColumn->getName()); $dataRow = new DataRow(); static::assertCount(0, $subject->getDataRows()); $subject->addDataRow($dataRow); static::assertCount(1, $subject->getDataRows()); }
/** * @throws \InvalidArgumentException * @return \DatabaseExporterImporter\Entity\Table[] */ private function createTables() { $tables = []; foreach ($this->parsedData as $tableName => $tableData) { $table = new Table($tableName); if (false === is_array($tableData)) { throw new \InvalidArgumentException('The data structure is incorrect.'); } if (false === array_key_exists('columns', $tableData)) { throw new \InvalidArgumentException("The data structure is incorrect: 'columns' key is absent."); } foreach ($this->columnsCreator->getColumns($tableData['columns']) as $column) { $table->addColumn($column); } foreach ($this->dataRowsCreator->getDataRows($tableData['data_rows']) as $dataRow) { $table->addDataRow($dataRow); } $tables[] = $table; } return $tables; }