@Test public void testConstructorProp1Prop2Prop3() throws Exception { JdbcMapperBuilder<DbConstructorObject> builder = JdbcMapperFactoryHelper.asm().newBuilder(DbConstructorObject.class); builder.addMapping("prop1"); builder.addMapping("prop2"); try { builder.addMapping("prop3"); fail("Expect exception"); } catch (Exception e) { // expected } }
@Test public void testChooseSmallestMatchingConstructor() throws Exception { JdbcMapperBuilder<DbConstructorObject> builder = JdbcMapperFactoryHelper.asm().newBuilder(DbConstructorObject.class); builder.addMapping("prop1"); JdbcMapper<DbConstructorObject> mapper = builder.mapper(); ResultSet rs = mock(ResultSet.class); when(rs.getString(1)).thenReturn("propValue"); DbConstructorObject o = mapper.map(rs); assertEquals("propValue", o.getProp1()); assertNull(o.getProp2()); assertNull(o.getProp3()); assertEquals(0, o.getC()); }
@Test public void testConstructorProp3() throws Exception { JdbcMapperBuilder<DbConstructorObject> builder = JdbcMapperFactoryHelper.asm().newBuilder(DbConstructorObject.class); builder.addMapping("prop3"); JdbcMapper<DbConstructorObject> mapper = builder.mapper(); Timestamp ts = new Timestamp(System.currentTimeMillis()); ResultSet rs = mock(ResultSet.class); when(rs.getTimestamp(1)).thenReturn(ts); when(rs.getObject(1)).thenReturn(ts); DbConstructorObject o = mapper.map(rs); assertNull(o.getProp1()); assertNull(o.getProp2()); assertEquals(ts, o.getProp3()); assertEquals(2, o.getC()); }