public function testSuccess()
 {
     $subject = new JsonDataRowsCreator();
     $result = $subject->getDataRows([['id' => 1, 'name' => 'Maker 1'], ['id' => 2, 'name' => 'Maker 2']]);
     static::assertTrue(is_array($result));
     static::assertCount(2, $result);
     static::assertInstanceOf(DataRow::class, $result[0]);
     $dataColumns = $result[0]->getDataColumns();
     static::assertTrue(is_array($dataColumns));
     static::assertCount(2, $dataColumns);
     static::assertSame('id', $dataColumns[0]->getName());
     static::assertSame(1, $dataColumns[0]->getValue());
     static::assertSame('name', $dataColumns[1]->getName());
     static::assertSame('Maker 1', $dataColumns[1]->getValue());
 }
 /**
  * @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;
 }