/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.test.dialect.unit.sequence;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.dialect.Dialect;
import org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorNoOpImpl;
import org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor;
import org.junit.Test;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsInstanceOf.instanceOf;
import static org.hamcrest.core.IsNull.nullValue;
import static org.junit.Assert.assertThat;
/**
* @author Andrea Boriero
*/
public abstract class AbstractSequenceInformationExtractorTest {
@Test
public void testSequenceGenerationExtractor() {
final Dialect dialect = getDialect();
assertThat(
dialect.getQuerySequencesString(),
is( expectedQuerySequencesString() )
);
assertThat(
dialect.getSequenceInformationExtractor(),
instanceOf( expectedSequenceInformationExtractor() )
);
}
public abstract Dialect getDialect();
public abstract String expectedQuerySequencesString();
public abstract Class<? extends SequenceInformationExtractor> expectedSequenceInformationExtractor();
@Entity(name = "MyEntity")
@Table(name = "my_entity")
public static class MyEntity {
@Id
public Integer id;
}
}