Example #1
0
 public void testRequire() {
   BeanMap.Generator<TestBean> gen = new BeanMap.Generator<TestBean>();
   gen.setBeanClass(TestBean.class);
   gen.setRequire(BeanMap.REQUIRE_GETTER);
   BeanMap map = gen.create();
   assertTrue(map.containsKey("foo"));
   assertTrue(map.containsKey("bar"));
   assertTrue(!map.containsKey("baz"));
 }
Example #2
0
  public void testNoUnderlyingBean() {
    BeanMap.Generator<TestBean> gen = new BeanMap.Generator<TestBean>();
    gen.setBeanClass(TestBean.class);
    BeanMap map = gen.create();

    TestBean bean = new TestBean();
    assertTrue(bean.getFoo() == null);
    assertTrue(map.put(bean, "foo", "FOO") == null);
    assertTrue(bean.getFoo().equals("FOO"));
    assertTrue(map.get(bean, "foo").equals("FOO"));
  }
Example #3
0
 @SuppressWarnings("unchecked")
 public static <T> T mixinMapIntoBean(final T bean) {
   Enhancer<T> e = new Enhancer<T>();
   e.setSuperclass((Class<T>) bean.getClass());
   e.setInterfaces(new Class[] {Map.class});
   final Map<Object, Object> map = BeanMap.create(bean);
   e.setCallbackFilter(
       new CallbackFilter<T>() {
         public int accept(Method method) {
           return method.getDeclaringClass().equals(Map.class) ? 1 : 0;
         }
       });
   e.setCallbacks(
       new Callback[] {
         new Dispatcher() {
           public Object loadObject() {
             return bean;
           }
         },
         new Dispatcher() {
           public Object loadObject() {
             return map;
           }
         }
       });
   return e.create();
 }
Example #4
0
 public void testEntrySet() {
   TestBean bean = new TestBean();
   BeanMap map = BeanMap.create(bean);
   assertTrue(map.entrySet().size() == map.size());
 }
Example #5
0
  public void testBeanMap() {
    TestBean bean = new TestBean();
    BeanMap map = BeanMap.create(bean);
    assertTrue(map.size() == 6);
    assertTrue(map.get("foo") == null);
    map.put("foo", "FOO");
    assertTrue("FOO".equals(map.get("foo")));
    assertTrue(bean.getFoo().equals("FOO"));
    assertTrue("x".equals(map.get("bar")));
    assertTrue(((Integer) map.get("quick")).intValue() == 42);
    map.put("quud", new Integer(13));
    assertTrue(bean.getQuud() == 13);

    assertTrue(map.getPropertyType("foo").equals(String.class));
    assertTrue(map.getPropertyType("quud").equals(Integer.TYPE));
    assertTrue(map.getPropertyType("kdkkj") == null);
  }