package org.xenei.jdbc4sparql.impl.rdf; import java.sql.DatabaseMetaData; import java.sql.Types; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.xenei.jdbc4sparql.iface.ColumnDef; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; public class ColumnDefBuilderTests { private Model model; @Before public void setUp() throws Exception { model = ModelFactory.createDefaultModel(); } @After public void tearDown() throws Exception { model.close(); } @Test public void testIntegerCreation() { final RdfColumnDef.Builder builder = RdfColumnDef.Builder .getIntegerBuilder(); final ColumnDef cd = builder.build(model); Assert.assertEquals(false, cd.isAutoIncrement()); Assert.assertEquals(false, cd.isCaseSensitive()); Assert.assertEquals("", cd.getColumnClassName()); Assert.assertEquals(false, cd.isCurrency()); Assert.assertEquals(false, cd.isDefinitelyWritable()); Assert.assertEquals(0, cd.getDisplaySize()); Assert.assertEquals(0, cd.getNullable()); Assert.assertEquals(0, cd.getPrecision()); Assert.assertEquals(false, cd.isReadOnly()); Assert.assertEquals(0, cd.getScale()); Assert.assertEquals(false, cd.isSearchable()); Assert.assertEquals(true, cd.isSigned()); Assert.assertEquals("Integer", cd.getTypeName()); Assert.assertEquals(false, cd.isWritable()); } @Test public void testSetValuesCreation() { final RdfColumnDef.Builder builder = new RdfColumnDef.Builder(); builder.setType(Types.VARCHAR).setAutoIncrement(true) .setCaseSensitive(true).setColumnClassName("foo") .setCurrency(true).setDefinitelyWritable(true) .setDisplaySize(5) .setNullable(DatabaseMetaData.columnNullableUnknown) .setPrecision(3).setReadOnly(true).setScale(10) .setSearchable(true).setSigned(true).setTypeName("bar") .setWritable(true); final ColumnDef cd = builder.build(model); Assert.assertEquals(true, cd.isAutoIncrement()); Assert.assertEquals(true, cd.isCaseSensitive()); Assert.assertEquals("foo", cd.getColumnClassName()); Assert.assertEquals(true, cd.isCurrency()); Assert.assertEquals(true, cd.isDefinitelyWritable()); Assert.assertEquals(5, cd.getDisplaySize()); Assert.assertEquals(DatabaseMetaData.columnNullableUnknown, cd.getNullable()); Assert.assertEquals(3, cd.getPrecision()); Assert.assertEquals(true, cd.isReadOnly()); Assert.assertEquals(10, cd.getScale()); Assert.assertEquals(true, cd.isSearchable()); Assert.assertEquals(true, cd.isSigned()); Assert.assertEquals("bar", cd.getTypeName()); Assert.assertEquals(true, cd.isWritable()); } @Test public void testSmallIntCreation() { final RdfColumnDef.Builder builder = RdfColumnDef.Builder .getSmallIntBuilder(); final ColumnDef cd = builder.build(model); Assert.assertEquals(false, cd.isAutoIncrement()); Assert.assertEquals(false, cd.isCaseSensitive()); Assert.assertEquals("", cd.getColumnClassName()); Assert.assertEquals(false, cd.isCurrency()); Assert.assertEquals(false, cd.isDefinitelyWritable()); Assert.assertEquals(0, cd.getDisplaySize()); Assert.assertEquals(0, cd.getNullable()); Assert.assertEquals(0, cd.getPrecision()); Assert.assertEquals(false, cd.isReadOnly()); Assert.assertEquals(0, cd.getScale()); Assert.assertEquals(false, cd.isSearchable()); Assert.assertEquals(true, cd.isSigned()); Assert.assertEquals("Short", cd.getTypeName()); Assert.assertEquals(false, cd.isWritable()); } @Test public void testStandardCreation() { final RdfColumnDef.Builder builder = new RdfColumnDef.Builder(); builder.setType(Types.VARCHAR); final ColumnDef cd = builder.build(model); Assert.assertEquals(false, cd.isAutoIncrement()); Assert.assertEquals(false, cd.isCaseSensitive()); Assert.assertEquals("", cd.getColumnClassName()); Assert.assertEquals(false, cd.isCurrency()); Assert.assertEquals(false, cd.isDefinitelyWritable()); Assert.assertEquals(0, cd.getDisplaySize()); Assert.assertEquals(0, cd.getNullable()); Assert.assertEquals(0, cd.getPrecision()); Assert.assertEquals(false, cd.isReadOnly()); Assert.assertEquals(0, cd.getScale()); Assert.assertEquals(false, cd.isSearchable()); Assert.assertEquals(false, cd.isSigned()); Assert.assertEquals("String", cd.getTypeName()); Assert.assertEquals(false, cd.isWritable()); } @Test public void testStringCreation() { final RdfColumnDef.Builder builder = RdfColumnDef.Builder .getStringBuilder(); final ColumnDef cd = builder.build(model); Assert.assertEquals(false, cd.isAutoIncrement()); Assert.assertEquals(false, cd.isCaseSensitive()); Assert.assertEquals("", cd.getColumnClassName()); Assert.assertEquals(false, cd.isCurrency()); Assert.assertEquals(false, cd.isDefinitelyWritable()); Assert.assertEquals(0, cd.getDisplaySize()); Assert.assertEquals(0, cd.getNullable()); Assert.assertEquals(0, cd.getPrecision()); Assert.assertEquals(false, cd.isReadOnly()); Assert.assertEquals(0, cd.getScale()); Assert.assertEquals(false, cd.isSearchable()); Assert.assertEquals(false, cd.isSigned()); Assert.assertEquals("String", cd.getTypeName()); Assert.assertEquals(false, cd.isWritable()); } }