package play.data.binding;
import org.junit.Test;
import play.PlayBuilder;
import play.data.validation.ValidationBuilder;
import java.util.HashMap;
import java.util.Map;
import static org.fest.assertions.Assertions.assertThat;
public class BeanWrapperTest {
public static class Bean {
public String a = "a";
public String b = "b";
public int i = 1;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
}
@Test
public void testBind() throws Exception {
new PlayBuilder().build();
ValidationBuilder.build();
Map<String, String[]> m = new HashMap<String, String[]>();
m.put("b.a", new String[]{"a1"});
m.put("b.b", new String[]{"b1"});
m.put("b.i", new String[]{"2"});
Bean b = new Bean();
BeanWrapper.forClass(Bean.class).bind("b", null, m, "", b, null);
assertThat(b.a).isEqualTo("a1");
assertThat(b.b).isEqualTo("b1");
assertThat(b.i).isEqualTo(2);
b = new Bean();
BeanWrapper.forClass(Bean.class).bind("", null, m, "b", b, null);
assertThat(b.a).isEqualTo("a1");
assertThat(b.b).isEqualTo("b1");
assertThat(b.i).isEqualTo(2);
b = (Bean)BeanWrapper.forClass(Bean.class).bind("b", null, m, "", null);
assertThat(b.a).isEqualTo("a1");
assertThat(b.b).isEqualTo("b1");
assertThat(b.i).isEqualTo(2);
}
}