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")); }
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")); }
@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(); }
public void testEntrySet() { TestBean bean = new TestBean(); BeanMap map = BeanMap.create(bean); assertTrue(map.entrySet().size() == map.size()); }
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); }