package org.castor.cpa.persistence.sql.driver; import java.sql.Types; import org.junit.Test; import static org.junit.Assert.*; public class DerbyFactoryTest { DerbyFactory factory = new DerbyFactory(); @Test public void integerSequenceTypeIsSupported() throws Exception { assertTrue(factory.isKeyGeneratorSequenceTypeSupported(Types.INTEGER)); } @Test public void smallintSequenceTypeIsSupported() throws Exception { assertTrue(factory.isKeyGeneratorSequenceTypeSupported(Types.SMALLINT)); } @Test public void bigintSequenceTypeIsSupported() throws Exception { assertTrue(factory.isKeyGeneratorSequenceTypeSupported(Types.BIGINT)); } @Test public void varcharAndOtherSequenceTypesAreNotSupported() throws Exception { assertFalse(factory.isKeyGeneratorSequenceTypeSupported(Types.VARCHAR)); } @Test public void sequenceValueBeforeSelectIsTheNextValue() throws Exception { String actual = factory.getSequenceBeforeSelectString("seqName", "tableName", 1); assertEquals("VALUES (NEXT VALUE FOR seqName)", actual); } @Test public void returningSequenceValueWithInsertIsNotSupported() throws Exception { assertTrue(factory.isKeyGeneratorSequenceSupported(false, false)); } @Test public void usingTriggerForSequenceGenerationIsNotSupported() throws Exception { assertTrue(factory.isKeyGeneratorSequenceSupported(false, false)); } }