/**
  * @dataProvider upProvider
  */
 public function testUp(array $migrations, array $expectedUpdates)
 {
     $queryBag = new QueryBag();
     $updateMigration = new UpdateBundleVersionMigration($migrations);
     $updateMigration->up(new Schema(), $queryBag);
     $assertQueries = [];
     foreach ($expectedUpdates as $bundleName => $version) {
         $assertQueries[] = sprintf("INSERT INTO %s (bundle, version, loaded_at) VALUES ('%s', '%s',", CreateMigrationTableMigration::MIGRATION_TABLE, $bundleName, $version);
     }
     $this->assertEmpty($queryBag->getPreQueries());
     $postSqls = $queryBag->getPostQueries();
     foreach ($assertQueries as $index => $query) {
         $this->assertTrue(strpos($postSqls[$index], $query) === 0, sprintf('Query index: %d. Query: %s', $index, $query));
     }
 }
 public function testBundleVersions()
 {
     $schema = new Schema();
     $queryBag = new QueryBag();
     $bundleVersions = ['testBundle' => 'v1_0', 'test1Bundle' => 'v1_1'];
     $updateMigration = new UpdateBundleVersionMigration($bundleVersions);
     $updateMigration->up($schema, $queryBag);
     $assertQueries = [];
     foreach ($bundleVersions as $bundleName => $version) {
         $assertQueries[] = sprintf("INSERT INTO %s (bundle, version, loaded_at) VALUES ('%s', '%s',", CreateMigrationTableMigration::MIGRATION_TABLE, $bundleName, $version);
     }
     $this->assertEmpty($queryBag->getPreQueries());
     $postSqls = $queryBag->getPostQueries();
     foreach ($assertQueries as $index => $query) {
         $this->assertTrue(strpos($postSqls[$index], $query) === 0);
     }
 }