parent
6e09caf428
commit
5e08a7e13a
@ -0,0 +1,13 @@ |
||||
package de.kreth.dbmanager; |
||||
|
||||
public enum DatabaseType { |
||||
|
||||
MYSQL("primary key AUTO_INCREMENT"), HSQLDB("IDENTITY"); |
||||
|
||||
public final String autoIncrementIdType; |
||||
|
||||
private DatabaseType(String autoIncrementIdType) { |
||||
this.autoIncrementIdType = autoIncrementIdType; |
||||
} |
||||
|
||||
} |
||||
@ -1,69 +1,93 @@ |
||||
package de.kreth.dbmanager; |
||||
|
||||
import static org.junit.Assert.assertEquals; |
||||
import static org.junit.Assert.assertNotNull; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
import org.junit.Before; |
||||
import org.junit.Test; |
||||
|
||||
import static org.junit.Assert.assertEquals; |
||||
import static org.junit.Assert.assertNotNull; |
||||
|
||||
public class DbManagerCreateTablesTest { |
||||
@Test |
||||
public void testCreateSqlStatement() { |
||||
List<ColumnDefinition> columns = new ArrayList<ColumnDefinition>(); |
||||
TableDefinition def = new TableDefinition("testtable", columns); |
||||
TableDefinition def = new TableDefinition("testtable", |
||||
DatabaseType.MYSQL, columns); |
||||
String sql = DbManager.createSqlStatement(def); |
||||
|
||||
assertNotNull(sql); |
||||
assertEquals("CREATE TABLE testtable (\n" + " _id INTEGER primary key AUTO_INCREMENT\n" + ")", sql); |
||||
assertEquals( |
||||
"CREATE TABLE testtable (\n" |
||||
+ " id INTEGER primary key AUTO_INCREMENT\n" + ")", |
||||
sql); |
||||
} |
||||
|
||||
@Test |
||||
public void testCreateTable2Columns() { |
||||
List<ColumnDefinition> columns = new ArrayList<ColumnDefinition>(); |
||||
|
||||
columns.add(new ColumnDefinition(DataType.VARCHAR100, "name", " NOT NULL")); |
||||
columns.add( |
||||
new ColumnDefinition(DataType.VARCHAR100, "name", " NOT NULL")); |
||||
columns.add(new ColumnDefinition(DataType.DATETIME, "theDate")); |
||||
|
||||
TableDefinition def = new TableDefinition("testtable", columns); |
||||
TableDefinition def = new TableDefinition("testtable", |
||||
DatabaseType.MYSQL, columns); |
||||
String sql = DbManager.createSqlStatement(def); |
||||
|
||||
assertNotNull(sql); |
||||
assertEquals("CREATE TABLE testtable (\n" |
||||
+ " _id INTEGER primary key AUTO_INCREMENT,\n" |
||||
+ " name VARCHAR(100) NOT NULL,\n" |
||||
+ " theDate DATETIME\n" + ")", |
||||
sql); |
||||
+ " id INTEGER primary key AUTO_INCREMENT,\n" |
||||
+ " name VARCHAR(100) NOT NULL,\n" + " theDate DATETIME\n" |
||||
+ ")", sql); |
||||
} |
||||
|
||||
@Test |
||||
public void testCreateTable2ColumnsOnHsqlDb() { |
||||
List<ColumnDefinition> columns = new ArrayList<ColumnDefinition>(); |
||||
|
||||
columns.add( |
||||
new ColumnDefinition(DataType.VARCHAR100, "name", " NOT NULL")); |
||||
columns.add(new ColumnDefinition(DataType.DATETIME, "theDate")); |
||||
|
||||
TableDefinition def = new TableDefinition("testtable", |
||||
DatabaseType.HSQLDB, columns); |
||||
String sql = DbManager.createSqlStatement(def); |
||||
|
||||
assertNotNull(sql); |
||||
assertEquals("CREATE TABLE testtable (\n" + " id INTEGER IDENTITY,\n" |
||||
+ " name VARCHAR(100) NOT NULL,\n" + " theDate DATETIME\n" |
||||
+ ")", sql); |
||||
} |
||||
|
||||
@Test |
||||
public void testCreateTable2ColumnsUnique() { |
||||
List<ColumnDefinition> columns = new ArrayList<ColumnDefinition>(); |
||||
|
||||
columns.add(new ColumnDefinition(DataType.VARCHAR100, "name", " NOT NULL")); |
||||
columns.add( |
||||
new ColumnDefinition(DataType.VARCHAR100, "name", " NOT NULL")); |
||||
columns.add(new ColumnDefinition(DataType.DATETIME, "theDate")); |
||||
|
||||
UniqueConstraint unique = new UniqueConstraint(columns.get(0), columns.get(1)); |
||||
TableDefinition def = new TableDefinition("testtable", columns, unique); |
||||
UniqueConstraint unique = new UniqueConstraint(columns.get(0), |
||||
columns.get(1)); |
||||
TableDefinition def = new TableDefinition("testtable", |
||||
DatabaseType.MYSQL, columns, unique); |
||||
String sql = DbManager.createSqlStatement(def); |
||||
|
||||
assertNotNull(sql); |
||||
|
||||
String expected = "CREATE TABLE testtable (\n" |
||||
+ " _id INTEGER primary key AUTO_INCREMENT,\n" |
||||
+ " name VARCHAR(100) NOT NULL,\n" |
||||
+ " theDate DATETIME,\n" |
||||
+ " CONSTRAINT UNIQUE (name,theDate)\n" |
||||
+ ")"; |
||||
+ " id INTEGER primary key AUTO_INCREMENT,\n" |
||||
+ " name VARCHAR(100) NOT NULL,\n" + " theDate DATETIME,\n" |
||||
+ " CONSTRAINT UNIQUE (name,theDate)\n" + ")"; |
||||
|
||||
assertEquals(expected, sql); |
||||
} |
||||
|
||||
@Before |
||||
public void setUp() throws Exception {} |
||||
public void setUp() throws Exception { |
||||
} |
||||
} |
||||
|
||||
|
||||
//~ Formatted by Jindent --- http://www.jindent.com
|
||||
// ~ Formatted by Jindent --- http://www.jindent.com
|
||||
|
||||
Loading…
Reference in new issue