// Copyright (c) 2003-present, Jodd Team (http://jodd.org)
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
package jodd.bean;
import org.junit.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.junit.Assert.*;
public class BeanPopulateTest {
/* public static class Bean {
Foo foo;
}
public static class Foo {
String one;
int two;
long[] three;
Integer[] three_2 = new Integer[10];
List<Long> three_3;
Integer four = new Integer(23);
Bar five;
}
public static class Bar {
String xxx;
String zzz;
}
@Test
public void testPopulate() {
Map fooMap = new HashMap();
fooMap.put("one", "ONE");
fooMap.put("two", "2");
fooMap.put("four", null);
List list = new ArrayList();
list.add("100");
list.add("200");
list.add("300");
fooMap.put("three", list);
fooMap.put("three_2", list);
fooMap.put("three_3", list);
Map map2 = new HashMap();
map2.put("xxx", "XXX");
map2.put("zzz", "ZZZ");
fooMap.put("five", map2);
for (int i = 0; i < 2; i++) {
Bean bean = new Bean();
if (i == 0) {
BeanUtil.populateProperty(bean, "foo", fooMap);
} else {
bean.foo = new Foo();
BeanUtil.populateBean(bean.foo, fooMap);
}
// simple properties
assertNotNull(bean.foo);
assertEquals("ONE", bean.foo.one);
assertEquals(2, bean.foo.two);
assertNull(bean.foo.four);
// primitive array
assertEquals(3, bean.foo.three.length);
assertEquals(100, bean.foo.three[0]);
assertEquals(200, bean.foo.three[1]);
assertEquals(300, bean.foo.three[2]);
// Object array
assertEquals(10, bean.foo.three_2.length);
assertEquals(100, bean.foo.three_2[0].intValue());
assertEquals(200, bean.foo.three_2[1].intValue());
assertEquals(300, bean.foo.three_2[2].intValue());
// inner map
assertEquals("XXX", bean.foo.five.xxx);
assertEquals("ZZZ", bean.foo.five.zzz);
// list 2 list
assertEquals(3, bean.foo.three_3.size());
assertEquals(100, bean.foo.three_3.get(0).longValue());
assertEquals(200, bean.foo.three_3.get(1).longValue());
assertEquals(300, bean.foo.three_3.get(2).longValue());
}
}*/
}