@Test public void testMismatch() { assertThatThrownBy(() -> selectOne("SELECT i, '7' FROM bean", ConstructorBean.class)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void testNonNullableAbsent() { assertThatThrownBy(() -> selectOne("select s from bean", NullableParameterBean.class)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void testFactoryMethod() { StaticFactoryMethodBean bean = selectOne("SELECT s, i FROM bean", StaticFactoryMethodBean.class); assertThat(bean.s).isEqualTo("3"); assertThat(bean.i).isEqualTo(2); }
@Test public void nonNullableColumnOfNestedObjectAbsent() { assertThatThrownBy(() -> selectOne("select 'a' a, s from bean", NullableNestedBean.class)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void testDuplicate() { assertThatThrownBy(() -> selectOne("SELECT i, s, s FROM bean", ConstructorBean.class)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void testNullableParameterPresent() { NullableParameterBean bean = selectOne("select s, i from bean", NullableParameterBean.class); assertThat(bean.s).isEqualTo("3"); assertThat(bean.i).isEqualTo(2); }
@Test public void testName() { NamedParameterBean nb = selectOne("SELECT 3 AS xyz", NamedParameterBean.class); assertThat(nb.i).isEqualTo(3); }
@Test public void testSimple() { ConstructorBean bean = selectOne("SELECT s, i FROM bean", ConstructorBean.class); assertThat(bean.s).isEqualTo("3"); assertThat(bean.i).isEqualTo(2); }
@Test public void testReversed() { ConstructorBean bean = selectOne("SELECT i, s FROM bean", ConstructorBean.class); assertThat(bean.s).isEqualTo("3"); assertThat(bean.i).isEqualTo(2); }
@Test public void testExtra() { ConstructorBean bean = selectOne("SELECT 1 as ignored, i, s FROM bean", ConstructorBean.class); assertThat(bean.s).isEqualTo("3"); assertThat(bean.i).isEqualTo(2); }
@Test public void nullableNestedParameterPresent() { NullableNestedBean bean = selectOne("select 'a' a, s, i from bean", NullableNestedBean.class); assertThat(bean.a).isEqualTo("a"); assertThat(bean.nested).isNotNull(); assertThat(bean.nested.s).isEqualTo("3"); assertThat(bean.nested.i).isEqualTo(2); }
@Test public void testFactoryMethodReversed() { StaticFactoryMethodBean bean = selectOne("SELECT i, s FROM bean", StaticFactoryMethodBean.class); assertThat(bean.s).isEqualTo("3"); assertThat(bean.i).isEqualTo(2); }
@Test public void nullableNestedNullableParameterAbsent() { NullableNestedBean bean = selectOne("select 'a' a, i from bean", NullableNestedBean.class); assertThat(bean.a).isEqualTo("a"); assertThat(bean.nested).isNotNull(); assertThat(bean.nested.s).isNull(); assertThat(bean.nested.i).isEqualTo(2); }
@Test public void testNullableParameterAbsent() { NullableParameterBean bean = selectOne("select i from bean", NullableParameterBean.class); assertThat(bean.s).isNull(); assertThat(bean.i).isEqualTo(2); }
@Test public void allColumnsOfNullableNestedObjectAbsent() { NullableNestedBean bean = selectOne("select 'a' a from bean", NullableNestedBean.class); assertThat(bean.a).isEqualTo("a"); assertThat(bean.nested).isNull(); }