}
@Test(groups="fast")
public void testSetThenGetNestedProperties() throws Exception {
TestBean root = new TestBean();
BeanUtil.setPropertyValue("nestedBean.stringProperty", root, "testValue");
BeanUtil.setPropertyValue("nestedBean.intProperty", root, 77);
BeanUtil.setPropertyValue("nestedBean.longProperty", root, 777l);
BeanUtil.setPropertyValue("nestedBean.enumProperty", root, TestEnum.Seventh);
Assert.assertEquals("testValue", root.getNestedBean().getStringProperty());
Assert.assertEquals("testValue", BeanUtil.getPropertyValue("nestedBean.stringProperty", root));
Assert.assertEquals(77, root.getNestedBean().getIntProperty());
Assert.assertEquals(77, BeanUtil.getPropertyValue("nestedBean.intProperty", root));
Assert.assertEquals(new Long(777l), root.getNestedBean().getLongProperty());
Assert.assertEquals(777l, BeanUtil.getPropertyValue("nestedBean.longProperty", root));
Assert.assertEquals(TestEnum.Seventh, root.getNestedBean().getEnumProperty());
Assert.assertEquals(TestEnum.Seventh, BeanUtil.getPropertyValue("nestedBean.enumProperty", root));
Assert.assertTrue(root.getNestedBean() == BeanUtil.getPropertyValue("nestedBean", root));
}