@Test public void testCalendar() throws Exception { String date = "20150128"; java.util.Date dd = new SimpleDateFormat("yyyyMMdd").parse(date); Calendar cal = Calendar.getInstance(); cal.setTime(dd); when(resultSet.getTimestamp(1)).thenReturn(new Timestamp(dd.getTime())); Getter<ResultSet, Calendar> getter = factory.<Calendar>newGetter(Calendar.class, key(Types.TIMESTAMP), IDENTITY.properties()); assertEquals(cal, getter.get(resultSet)); assertEquals("CalendarResultSetGetter{dateGetter=TimestampResultSetGetter{property=1}}", getter.toString()); }
@Test public void testUUIDString() throws Exception { UUID uuid = UUID.randomUUID(); when(resultSet.getString(1)).thenReturn(uuid.toString()); final Getter<ResultSet, UUID> getter = factory.<UUID>newGetter(UUID.class, key(Types.VARCHAR), IDENTITY.properties()); assertEquals(uuid, getter.get(resultSet)); }
@Test public void testObject() throws Exception { Object object = new Object(); when(resultSet.getObject(1)).thenReturn(object); Getter<ResultSet, Object> getter = factory.newGetter(Object.class, key(JdbcColumnKey.UNDEFINED_TYPE), IDENTITY.properties()); assertEquals(object, getter.get(resultSet)); assertEquals("ObjectResultSetGetter{property=1}", getter.toString()); }
@Test public void testSqlArray() throws Exception { Array array = mock(Array.class); when(resultSet.getArray(1)).thenReturn(array); Getter<ResultSet, Object> getter = factory.newGetter(Array.class, key(Types.ARRAY), IDENTITY.properties()); assertEquals(array, getter.get(resultSet)); assertEquals("SqlArrayResultSetGetter{property=1}", getter.toString()); }
@Test public void testClob() throws Exception { Clob blob = mock(Clob.class); when(resultSet.getClob(1)).thenReturn(blob); Getter<ResultSet, Object> getter = factory.newGetter(Clob.class, key(Types.CLOB), IDENTITY.properties()); assertEquals(blob, getter.get(resultSet)); assertEquals("ClobResultSetGetter{property=1}", getter.toString()); }
@Test public void testBlob() throws Exception { Blob blob = mock(Blob.class); when(resultSet.getBlob(1)).thenReturn(blob); Getter<ResultSet, Object> getter = factory.newGetter(Blob.class, key(Types.BLOB), IDENTITY.properties()); assertEquals(blob, getter.get(resultSet)); assertEquals("BlobResultSetGetter{property=1}", getter.toString()); }
@Test public void testReader() throws Exception { Reader blob = mock(Reader.class); when(resultSet.getCharacterStream(1)).thenReturn(blob); Getter<ResultSet, Object> getter = factory.newGetter(Reader.class, key(Types.CLOB), IDENTITY.properties()); assertEquals(blob, getter.get(resultSet)); assertEquals("ReaderResultSetGetter{property=1}", getter.toString()); }
@Test public void testUrlFromString() throws Exception { URL url = new URL("http://url.net"); when(resultSet.getString(1)).thenReturn("http://url.net"); Getter<ResultSet, Object> getter = factory.newGetter(URL.class, key(Types.VARCHAR), IDENTITY.properties()); assertEquals(url, getter.get(resultSet)); assertEquals("UrlFromStringResultSetGetter{property=1}", getter.toString()); }
@Test public void testTimestamp() throws Exception { Timestamp time = new Timestamp(10000); when(resultSet.getTimestamp(1)).thenReturn(time); assertEquals(time, factory.newGetter(Timestamp.class, key(JdbcColumnKey.UNDEFINED_TYPE), IDENTITY.properties()).get(resultSet)); Getter<ResultSet, Object> getter = factory.newGetter(java.util.Date.class, key(Types.TIMESTAMP), IDENTITY.properties()); assertEquals(time, getter.get(resultSet)); assertEquals("TimestampResultSetGetter{property=1}", getter.toString()); } @Test
@Test public void testTime() throws Exception { Time time = new Time(10000); when(resultSet.getTime(1)).thenReturn(time); assertEquals(time, factory.newGetter(Time.class, key(JdbcColumnKey.UNDEFINED_TYPE), IDENTITY.properties()).get(resultSet)); Getter<ResultSet, Object> getter = factory.newGetter(java.util.Date.class, key(Types.TIME), IDENTITY.properties()); assertEquals(time, getter.get(resultSet)); assertEquals("TimeResultSetGetter{property=1}", getter.toString()); }
@Test public void testUrl() throws Exception { URL url = new URL("http://url.net"); when(resultSet.getURL(1)).thenReturn(url); Getter<ResultSet, Object> getter = factory.newGetter(URL.class, key(Types.DATALINK), IDENTITY.properties()); assertEquals(url, getter.get(resultSet)); assertEquals("UrlResultSetGetter{property=1}", getter.toString()); }
@SuppressWarnings("unchecked") @Test public void testInt() throws Exception { when(resultSet.getInt(1)).thenReturn(13); IntGetter<ResultSet> intGetter = (IntGetter<ResultSet>) (factory.newGetter(Integer.class, key(Types.NUMERIC), IDENTITY.properties())); assertEquals(13, intGetter.getInt(resultSet)); intGetter = (IntGetter<ResultSet>) (factory.newGetter(int.class, key(Types.NUMERIC), IDENTITY.properties())); assertEquals(13, intGetter.getInt(resultSet)); }
@Test public void testSqlXml() throws Exception { SQLXML sqlxml = mock(SQLXML.class); when(resultSet.getSQLXML(1)).thenReturn(sqlxml); Getter<ResultSet, Object> getter = factory.newGetter(SQLXML.class, key(Types.SQLXML), IDENTITY.properties()); assertEquals(sqlxml, getter.get(resultSet)); assertEquals("SQLXMLResultSetGetter{property=1}", getter.toString()); }
@Test public void testNClob() throws Exception { NClob blob = mock(NClob.class); when(resultSet.getNClob(1)).thenReturn(blob); Getter<ResultSet, Object> getter = factory.newGetter(NClob.class, key(Types.NCLOB), IDENTITY.properties()); assertEquals(blob, getter.get(resultSet)); assertEquals("NClobResultSetGetter{property=1}", getter.toString()); }
@Test public void testSqlDate() throws Exception { java.sql.Date time = new Date(10000); when(resultSet.getDate(1)).thenReturn(time); assertEquals(time, factory.newGetter(Date.class, key(JdbcColumnKey.UNDEFINED_TYPE), IDENTITY.properties()).get(resultSet)); Getter<ResultSet, Object> getter = factory.newGetter(java.util.Date.class, key(Types.DATE), IDENTITY.properties()); assertEquals(time, getter.get(resultSet)); assertEquals("DateResultSetGetter{property=1}", getter.toString()); } @Test
@Test public void testRef() throws Exception { Ref ref = mock(Ref.class); when(resultSet.getRef(1)).thenReturn(ref); Getter<ResultSet, Object> getter = factory.newGetter(Ref.class, key(Types.REF), IDENTITY.properties()); assertEquals(ref, getter.get(resultSet)); assertEquals("RefResultSetGetter{property=1}", getter.toString()); }
@Test public void testRowId() throws Exception { RowId rowId = mock(RowId.class); when(resultSet.getRowId(1)).thenReturn(rowId); Getter<ResultSet, Object> getter = factory.newGetter(RowId.class, key(Types.ROWID), IDENTITY.properties()); assertEquals(rowId, getter.get(resultSet)); assertEquals("RowIdResultSetGetter{property=1}", getter.toString()); }
@Test public void testSQLData() throws Exception { Getter<ResultSet, SQLDataImpl> getter = factory.<SQLDataImpl>newGetter(SQLDataImpl.class, key(Types.JAVA_OBJECT), IDENTITY.properties()); SQLDataImpl object = new SQLDataImpl(); when(resultSet.getObject(1)).thenReturn(object); assertEquals(object, getter.get(resultSet)); }
@Test public void testCalendarOnInvalidType() throws Exception { Getter<ResultSet, Calendar> getter = factory.<Calendar>newGetter(Calendar.class, key(Types.VARCHAR), IDENTITY.properties()); assertNull(getter); }
@Test public void testNString() throws Exception { when(resultSet.getNString(1)).thenReturn("value"); assertEquals("value", factory.newGetter(String.class, key(Types.NCHAR), IDENTITY.properties()).get(resultSet)); assertEquals("value", factory.newGetter(String.class, key(Types.NCLOB), IDENTITY.properties()).get(resultSet)); assertEquals("value", factory.newGetter(String.class, key(Types.NVARCHAR), IDENTITY.properties()).get(resultSet)); }