package org.strecks.form.controller;
import org.strecks.form.impl.NestedBean;
import org.strecks.form.impl.SimpleStrutsForm;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* @author Phil Zoio
*/
public class TestDelegatingForm
{
private SimpleStrutsForm form;
private DelegatingForm delegator;
@BeforeMethod
public void readBindables()
{
form = new SimpleStrutsForm();
delegator = FormTestUtils.getDelegatingForm(form);
assert delegator.getBindConvertInfo().getBindMap().size() == 2;
}
@Test
public void testBindingToTarget()
{
NestedBean nestedBean = new NestedBean();
form.setNestedBean(nestedBean);
form.setIntegerValue("3");
form.setLongValue("11");
delegator.bindInwards(null);
assert nestedBean.getTargetIntegerValue() == 3;
assert form.getTargetLongValue() == 11;
}
@Test
public void testBindingToNull()
{
form.setIntegerValue("3");
form.setLongValue("11");
delegator.bindInwards(null);
// nothing happens even though no nested bean is set
}
@Test
public void testBindingFromTarget()
{
NestedBean nestedBean = new NestedBean();
form.setNestedBean(nestedBean);
nestedBean.setTargetIntegerValue(3);
form.setTargetLongValue(11L);
delegator.bindOutwards(null);
assert form.getIntegerValue().equals("3");
assert form.getLongValue().equals("11");
}
@Test
public void testBindingFromNull()
{
delegator.bindOutwards(null);
// nothing happens even though no nested bean is set
assert form.getIntegerValue() == null;
assert form.getLongValue() == null;
}
}