@Test
public void testClassNavigation() {

    assertEquals(String.class, ObjectPropertyUtils.getPropertyType(TestBean.class, "complexProp.fooProp"));
    try {
        // valid first reference, invalid second reference
        assertEquals(null, ObjectPropertyUtils.getPropertyType(TestBean.class, "complexProp.foobar"));
        // NULL is ok - fail("KULRICE-10677 - is this ok?");
    } catch (IllegalArgumentException e) {
        // IAE is not ok - KULRICE-10677 is this ok?
        throw e;
    }
    try {
        // invalid single reference
        assertEquals(null, ObjectPropertyUtils.getPropertyType(TestBean.class, "foo"));
        // NULL is ok - fail("KULRICE-10677 - is this ok?");
    } catch (IllegalArgumentException e) {
        // IAE is not ok - KULRICE-10677 is this ok?
        throw e;
    }
    try {
        // invalid first reference
        assertEquals(null, ObjectPropertyUtils.getPropertyType(TestBean.class, "foo.bar"));
        // NULL is ok - fail("KULRICE-10677 - is this ok?");
    } catch (IllegalArgumentException e) {
        // IAE is not ok - KULRICE-10677 is this ok?
        throw e;
    }
}