示例#1
0
  @Test
  public void testNamedOutboundConversion() {
    final IStructHandler c = getConverter(SimpleStruct.class);
    verifyFieldOrder(c, "a", "b");

    SimpleStruct struct = new SimpleStruct();
    struct.a = "aaaa";
    struct.b = 2;

    final String resultA = "ca";
    setupOutboundConverter(struct.a, resultA);

    final String resultB = "cb";
    setupOutboundConverter(struct.b, resultB);

    Map<?, ?> fromJava = c.fromJava(converter, struct, 0);

    Map<Object, Object> result = Maps.newHashMap();
    result.put("a", resultA);
    result.put("b", resultB);

    Assert.assertEquals(result, fromJava);

    verifyOutboundConversion(struct.a);
    verifyOutboundConversion(struct.b);
  }
示例#2
0
  @Test
  public void testCustomOrderedOutboundConversionOneIndexed() {
    final IStructHandler c = getConverter(SimpleTableForcedOrdering.class);
    verifyFieldOrder(c, "b", "a", "c");

    SimpleTableForcedOrdering struct = new SimpleTableForcedOrdering();
    struct.a = "aaaa";
    struct.b = 2;
    struct.c = 4.0f;

    final int resultA = 5;
    setupOutboundConverter(struct.a, resultA);

    final String resultB = "cb";
    setupOutboundConverter(struct.b, resultB);

    final float resultC = 0.2f;
    setupOutboundConverter(struct.c, resultC);

    Map<?, ?> fromJava = c.fromJava(converter, struct, 0);

    // Java ordering
    Map<Object, Object> result = Maps.newHashMap();
    result.put(0, resultB);
    result.put(1, resultA);
    result.put(2, resultC);

    Assert.assertEquals(result, fromJava);

    verifyOutboundConversion(struct.a);
    verifyOutboundConversion(struct.b);
    verifyOutboundConversion(struct.c);
  }
示例#3
0
  @Test
  public void testDefaultOrderedOutboundConversionZeroIndexed() {
    final IStructHandler c = getConverter(SimpleTableDefaultOrdering.class);
    verifyFieldOrder(c, "a", "b");

    SimpleTableDefaultOrdering struct = new SimpleTableDefaultOrdering();
    struct.a = "aaaa";
    struct.b = 2;
    struct.skip = "zzzz";

    final int resultA = 5;
    setupOutboundConverter(struct.a, resultA);

    final String resultB = "cb";
    setupOutboundConverter(struct.b, resultB);

    Map<?, ?> fromJava = c.fromJava(converter, struct, 0);

    Map<Object, Object> result = Maps.newHashMap();
    result.put(0, resultA);
    result.put(1, resultB);

    Assert.assertEquals(result, fromJava);

    verifyOutboundConversion(struct.a);
    verifyOutboundConversion(struct.b);
  }
示例#4
0
  @Test
  public void testGenericBaseOutboundConversion() {
    final IStructHandler c = getConverter(GenericDerrived.class);
    verifyFieldOrder(c, "fieldA", "fieldB", "fieldC", "fieldD");

    GenericDerrived struct = new GenericDerrived();
    struct.fieldA = false;
    struct.fieldB = 3.5f;
    struct.fieldC = 34;
    struct.fieldD = "Hello";

    final int resultA = 5;
    setupOutboundConverter(struct.fieldA, resultA);

    final String resultB = "cb";
    setupOutboundConverter(struct.fieldB, resultB);

    final float resultC = 0.2f;
    setupOutboundConverter(struct.fieldC, resultC);

    final boolean resultD = false;
    setupOutboundConverter(struct.fieldD, resultD);

    Map<?, ?> fromJava = c.fromJava(converter, struct, 0);

    Map<Object, Object> result = Maps.newHashMap();
    result.put("fieldA", resultA);
    result.put("fieldB", resultB);
    result.put("fieldC", resultC);
    result.put("fieldD", resultD);

    Assert.assertEquals(result, fromJava);

    verifyOutboundConversion(struct.fieldA);
    verifyOutboundConversion(struct.fieldB);
    verifyOutboundConversion(struct.fieldC);
    verifyOutboundConversion(struct.fieldD);
  }