@TestCoversMethods("fromMap") public void testFromMap_POJO() throws Exception { SecurityManager securityManager = new SecurityManager(); securityManager.addAccessController(new FieldAccessController(new BaseAccessRule())); mapper.setSecurityManager(securityManager); Object owner = new Object(); Object other = new Object(); POJO1 p = new POJO1(owner, 1, "one"); Map<String, Object> m = mapper.toMap(p, owner); assertTrue(m.containsKey("x")); assertTrue(m.containsKey("y")); POJO1 expected; // with owner expected = new POJO1(null, p.getX(), p.getY()); assertEquals(expected, mapper.fromMap(new POJO1(owner), m, owner)); // with other expected = new POJO1(null, 0, p.getY()); assertEquals(expected, mapper.fromMap(new POJO1(owner), m, other)); // noone assertEquals(expected, mapper.fromMap(new POJO1(owner), m, (Object[]) null)); assertEquals(expected, mapper.fromMap(new POJO1(owner), m, new Object[] {})); mapper.setSecurityManager(null); }
@TestCoversMethods("fromMap") public void testFromMap_Map() throws Exception { Map<Object, Object> m = new HashMap<Object, Object>(); m.put("x", 1); m.put("y", "one"); assertEquals( m, mapper.fromMap(new HashMap<Object, Object>(), mapper.toMap(m, "any"), (Object[]) null)); assertEquals( m, mapper.fromMap(new HashMap<Object, Object>(), mapper.toMap(m, "random"), (Object[]) null)); assertEquals( m, mapper.fromMap(new HashMap<Object, Object>(), mapper.toMap(m, "role"), (Object[]) null)); }
@TestCoversMethods("fromMap") public void testFromMap_Mapable() throws Exception { // from map POJO2 p1 = new POJO2(1, "one", Arrays.asList(new Object[] {1.0})); Map<String, Object> m1 = mapper.toMap(p1, (Object[]) null); POJO2 expected; expected = new POJO2(p1.getId(), p1.getName(), p1.getValue()); assertEquals(expected, mapper.fromMap(new POJO2(), m1, (Object[]) null)); expected = new POJO2(p1.getId(), null, null); assertEquals(expected, mapper.fromMap(new POJO2(), m1, new Object[] {"id"})); expected = new POJO2(0, p1.getName(), null); assertEquals(expected, mapper.fromMap(new POJO2(), m1, new Object[] {"name"})); expected = new POJO2(0, null, p1.getValue()); assertEquals(expected, mapper.fromMap(new POJO2(), m1, new Object[] {"value"})); expected = new POJO2(p1.getId(), p1.getName(), p1.getValue()); assertEquals(expected, mapper.fromMap(new POJO2(), m1, new Object[] {"id", "name", "value"})); // from map for "trees" POJO2 p2 = new POJO2(2, "two"); POJO2Parent pp1 = new POJO2Parent(); pp1.setChildren(Arrays.asList(new POJO2[] {p1})); POJO2Parent pp2 = new POJO2Parent(); pp2.setChildren(Arrays.asList(new POJO2[] {p2})); pp1.setSibling(pp2); Map<String, Object> mp1 = mapper.toMap(pp1, (Object[]) null); assertEquals(pp1, mapper.fromMap(new POJO2Parent(), mp1, (Object[]) null)); }
@TestCoversMethods("fromMap") public void testFromMap_POJO3() throws Exception { // from map POJO3 p1 = new POJO3(1, "one", Arrays.asList(new Double[] {1.0})); Map<String, Object> m1 = mapper.toMap(p1, (Object[]) null); POJO3 expected; expected = new POJO3(p1.getId(), p1.getName(), p1.getValue()); System.out.println("----"); assertEquals(expected, mapper.fromMap(new POJO3(), m1, (Object[]) null)); // from map for "trees" POJO3 p2 = new POJO3(2, "two"); POJO3Parent pp1 = new POJO3Parent(); pp1.setChildren(Arrays.asList(new POJO3[] {p1})); POJO3Parent pp2 = new POJO3Parent(); pp2.setChildren(Arrays.asList(new POJO3[] {p2})); pp1.setSibling(pp2); Map<String, Object> mp1 = mapper.toMap(pp1, (Object[]) null); assertEquals(pp1, mapper.fromMap(new POJO3Parent(), mp1, (Object[]) null)); }