示例#1
0
  @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);
  }
示例#2
0
  @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));
  }
示例#3
0
  @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));
  }
示例#4
0
  @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));
  }