X-Git-Url: http://jaekl.net/gitweb/?p=squelch.git;a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fjaekl%2Fsquelch%2Fstmt%2FTabularTest.java;fp=src%2Ftest%2Fjava%2Fnet%2Fjaekl%2Fsquelch%2Fstmt%2FTabularTest.java;h=6b5462dac3f00320f1a4b0b4cbdeebc0344fffbb;hp=0000000000000000000000000000000000000000;hb=dad47827334a0732966cc197dfe1e3ac303fb694;hpb=63163502c2d86fad43c38ae4041c8bf4b2e4b387 diff --git a/src/test/java/net/jaekl/squelch/stmt/TabularTest.java b/src/test/java/net/jaekl/squelch/stmt/TabularTest.java new file mode 100644 index 0000000..6b5462d --- /dev/null +++ b/src/test/java/net/jaekl/squelch/stmt/TabularTest.java @@ -0,0 +1,94 @@ +package net.jaekl.squelch.stmt; + +import static org.junit.Assert.*; + +import java.sql.SQLException; +import java.sql.Types; + +import net.jaekl.squelch.sql.Column; +import net.jaekl.squelch.sql.Row; + +import org.junit.Test; + +public class TabularTest { + private static class TabularMock extends Tabular { + @Override + Column[] getCols() throws SQLException { + return null; + } + + @Override + Row getNext() { + return null; + } + } + + @Test + public void test_classForSqlType() { + Object[][] data = { + { Types.ARRAY, Object.class }, + { Types.BIGINT, Object.class }, + { Types.BINARY, Object.class }, + { Types.BIT, Object.class }, + { Types.BLOB, Object.class }, + { Types.BOOLEAN, Boolean.class }, + { Types.CHAR, Character.class }, + { Types.CLOB, Object.class }, + { Types.DATALINK, Object.class }, + { Types.DATE, java.util.Date.class }, + { Types.DECIMAL, Double.class }, + { Types.DISTINCT, Object.class }, + { Types.DOUBLE, Double.class }, + { Types.FLOAT, Double.class }, + { Types.INTEGER, Long.class }, + { Types.JAVA_OBJECT, Object.class }, + { Types.LONGNVARCHAR, String.class }, + { Types.LONGVARBINARY, Object.class }, + { Types.NCHAR, String.class }, + { Types.NCLOB, Object.class }, + { Types.NULL, Object.class }, + { Types.NUMERIC, Double.class }, + { Types.NVARCHAR, String.class }, + { Types.OTHER, Object.class }, + { Types.REAL, Double.class }, + { Types.REF, Object.class }, + { Types.ROWID, Integer.class }, + { Types.SMALLINT, Integer.class }, + { Types.SQLXML, Object.class }, + { Types.STRUCT, Object.class }, + { Types.TIME, java.util.Date.class }, + { Types.TIMESTAMP, java.util.Date.class }, + { Types.TINYINT, Short.class }, + { Types.VARBINARY, Object.class }, + { Types.VARCHAR, String.class } + }; + Tabular tabular = new TabularMock(); + + for (Object[] datum : data) { + Class expected = (Class)datum[1]; + Class actual = tabular.classForSqlType((int) datum[0]); + assertEquals(expected, actual); + } + } + + @Test + public void test_repChar() { + Tabular tabular = new TabularMock(); + + assertEquals("", tabular.repChar(' ', 0)); + assertEquals(" ", tabular.repChar(' ', 4)); + assertEquals("###", tabular.repChar('#', 3)); + assertEquals("------", tabular.repChar('-', 6)); + } + + @Test + public void test_centrePad() { + Tabular tabular = new TabularMock(); + + assertEquals("Vestibule", tabular.centrePad("Vestibule", 2)); + assertEquals(" Fred ", tabular.centrePad("Fred", 8)); + assertEquals("NULL", tabular.centrePad(null, 0)); + assertEquals(" NULL ", tabular.centrePad(null, 8)); + assertEquals(" Wilma ", tabular.centrePad("Wilma", 12)); + } +}