package dbfit.environment; import dbfit.util.DbParameterAccessor; import dbfit.util.Direction; import dbfit.util.TypeTransformerFactory; import org.junit.Test; import static org.junit.Assert.*; public class SqlServerDbEnvironmentUnitTests { private TypeTransformerFactory dbfitToJdbcTransformerFactory = new TypeTransformerFactory(); @Test public void buildInsertCommand_AllInputParameters() throws Exception { SqlServerEnvironment env = new SqlServerEnvironment("SqlServer"); String expectedResult = "insert into DummyTable([Column1],[Column Two],[ColumnThree]) values (?,?,?)"; DbParameterAccessor[] parameters = new DbParameterAccessor[3]; parameters[0] = new DbParameterAccessor("Column1", Direction.INPUT, 0, null, 0, dbfitToJdbcTransformerFactory); parameters[1] = new DbParameterAccessor("Column Two", Direction.INPUT, 0, null, 1, dbfitToJdbcTransformerFactory); parameters[2] = new DbParameterAccessor("ColumnThree", Direction.INPUT, 0, null, 2, dbfitToJdbcTransformerFactory); String actualResult = env.buildInsertCommand("DummyTable", parameters); assertEquals(expectedResult, actualResult); } @Test public void buildInsertCommand_SpiceItUpWithAnOutputParameter() throws Exception { SqlServerEnvironment env = new SqlServerEnvironment("SqlServer"); String expectedResult = "insert into DummyTable([Column1]) values (?)"; DbParameterAccessor[] parameters = new DbParameterAccessor[2]; parameters[0] = new DbParameterAccessor("Column1", Direction.INPUT, 0, null, 0, dbfitToJdbcTransformerFactory); parameters[1] = new DbParameterAccessor("Column2", Direction.OUTPUT, 0, null, 0, dbfitToJdbcTransformerFactory); String actualResult = env.buildInsertCommand("DummyTable", parameters); assertEquals(expectedResult, actualResult); } }