@Test
public void createColumnQueriesForSuccessfulChangeColumn() throws Exception {

  ColumnInfo colInfo1 = new ColumnInfo("col1", "CHAR(1)", "COMMENT 1"); // with comment
  ColumnInfo colInfo2 = new ColumnInfo("col2", "DECIMAL(10,5)"); // no comment
  ColumnInfo colInfo3 = new ColumnInfo("col3", "STRING", "COMMENT-3");
  ColumnInfo colInfo4 = new ColumnInfo("col4", "VARCHAR(10)", "COMMENT 4");
  ColumnInfo colInfo5 = new ColumnInfo("col5", "STRING", "COMMENT 5");
  ColumnInfo colInfo6 = new ColumnInfo("col6", "INT");
  List<ColumnInfo> oldColumns = Arrays.asList(colInfo1, colInfo2, colInfo3);
  List<ColumnInfo> newColumns = Arrays.asList(colInfo4, colInfo5, colInfo6); // all changed
  Optional<List<String>> query = AlterTableQueryGenerator.createColumnQueries(oldColumns, newColumns, false);
  Assert.assertTrue(query.isPresent());
  List<String> queries = query.get();
  Assert.assertEquals("Expected number of column update queries were different.", 3, queries.size());
  String[] expectedQueries = new String[]{" CHANGE COLUMN `col1` `col4` VARCHAR(10) COMMENT \'COMMENT 4\'", " CHANGE COLUMN `col2` `col5` STRING COMMENT \'COMMENT 5\'", " CHANGE COLUMN `col3` `col6` INT"};
  Assert.assertArrayEquals("Column change queries were not equal ", expectedQueries, queries.toArray());
}