package mx.edu.um.webapp.form;
import junit.framework.TestCase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import mx.edu.um.model.Address;
import mx.edu.um.model.User;
import mx.edu.um.util.ConvertUtil;
/**
* @author mraible
*
* Test to verify that BeanUtils.copyProperties is working for
* nested POJOs and Forms.
*/
public class NestedFormTest extends TestCase {
protected final Log log = LogFactory.getLog(getClass());
private User user = null;
private UserForm userForm = null;
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testCopyPOJOToFormAndBack() throws Exception {
// pojo -> form
user = new User();
user.setUsername("testuser");
Address address = new Address();
address.setCity("Denver");
user.setAddress(address);
userForm = (UserForm) ConvertUtil.convert(user);
assertEquals(userForm.getUsername(), "testuser");
//log.debug(userForm);
assertEquals(userForm.getAddressForm().getCity(), "Denver");
// form -> pojo
user = new User();
user = (User) ConvertUtil.convert(userForm);
assertEquals(user.getUsername(), "testuser");
assertEquals(user.getAddress().getCity(), "Denver");
}
}