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

    final String inputA = "ca";
    final String inputB = "zzzz";

    Map<Object, Object> input = Maps.newHashMap();
    input.put(1, inputA);
    input.put(2, inputB);

    final String resultA = "ca";
    final int resultB = 2;

    setupInboundConverter(inputA, String.class, resultA);
    setupInboundConverter(inputB, int.class, resultB);

    Object o = c.toJava(converter, input, 1);

    verifyInboundConversion(inputA, String.class);
    verifyInboundConversion(inputB, int.class);

    Assert.assertTrue(o instanceof SimpleTableDefaultOrdering);

    SimpleTableDefaultOrdering converted = (SimpleTableDefaultOrdering) o;

    Assert.assertEquals(resultA, converted.a);
    Assert.assertEquals(resultB, converted.b);
  }
示例#2
0
  @Test
  public void testNamedInboundConversionOptionalFields() {
    final IStructHandler c = getConverter(SimpleStructOptional.class);
    verifyFieldOrder(c, "a", "b");

    final String inputB = "ca";

    Map<Object, Object> input = Maps.newHashMap();
    input.put("b", inputB);

    final int resultB = 12;

    setupInboundConverter(inputB, int.class, resultB);

    Object o = c.toJava(converter, input, 6);

    verifyInboundConversion(inputB, int.class);

    Assert.assertTrue(o instanceof SimpleStructOptional);

    SimpleStructOptional converted = (SimpleStructOptional) o;

    Assert.assertEquals(resultB, converted.b);
    Assert.assertEquals(SKIP_VALUE, converted.a);
  }
示例#3
0
 private void assertOutboundConversionFail(
     IStructHandler structConverter, Map<Object, Object> input, int indexOffset) {
   try {
     structConverter.toJava(converter, input, indexOffset);
     Assert.fail("Exception not thrown");
   } catch (RuntimeException e) {
   }
 }
示例#4
0
  @Test
  public void testGenericBaseInboundConversion() {
    final IStructHandler c = getConverter(GenericDerrived.class);
    verifyFieldOrder(c, "fieldA", "fieldB", "fieldC", "fieldD");

    final Boolean inputA = false;
    final Float inputB = 999.3f;
    final Integer inputC = 3214;
    final String inputD = "zzzz";

    Map<Object, Object> input = Maps.newHashMap();
    input.put("fieldA", inputA);
    input.put("fieldB", inputB);
    input.put("fieldC", inputC);
    input.put("fieldD", inputD);

    final Boolean resultA = true;
    final Float resultB = 9432.4f;
    final Integer resultC = 5425;
    final String resultD = "sfs";

    setupInboundConverter(inputA, Boolean.class, resultA);
    setupInboundConverter(inputB, Float.class, resultB);
    setupInboundConverter(inputC, Integer.class, resultC);
    setupInboundConverter(inputD, String.class, resultD);

    Object o = c.toJava(converter, input, 1);

    verifyInboundConversion(inputA, Boolean.class);
    verifyInboundConversion(inputB, Float.class);
    verifyInboundConversion(inputC, Integer.class);
    verifyInboundConversion(inputD, String.class);

    Assert.assertTrue(o instanceof GenericDerrived);

    GenericDerrived converted = (GenericDerrived) o;

    Assert.assertEquals(resultA, converted.fieldA);
    Assert.assertEquals(resultB, converted.fieldB);
    Assert.assertEquals(resultC, converted.fieldC);
    Assert.assertEquals(resultD, converted.fieldD);
  }
示例#5
0
  @Test
  public void testCustomOrderedInboundConversion() {
    final IStructHandler c = getConverter(SimpleTableForcedOrdering.class);
    verifyFieldOrder(c, "b", "a", "c");

    final String inputA = "ca";
    final String inputB = "zzzz";
    final int inputC = 999;

    Map<Object, Object> input = Maps.newHashMap();
    input.put(1, inputB);
    input.put(2, inputA);
    input.put(3, inputC);

    final String resultA = "ca";
    final int resultB = 2;
    final Float resultC = 2.4f;

    setupInboundConverter(inputA, String.class, resultA);
    setupInboundConverter(inputB, int.class, resultB);
    setupInboundConverter(inputC, Float.class, resultC);

    Object o = c.toJava(converter, input, 1);

    verifyInboundConversion(inputA, String.class);
    verifyInboundConversion(inputB, int.class);
    verifyInboundConversion(inputC, Float.class);

    Assert.assertTrue(o instanceof SimpleTableForcedOrdering);

    SimpleTableForcedOrdering converted = (SimpleTableForcedOrdering) o;

    Assert.assertEquals(resultA, converted.a);
    Assert.assertEquals(resultB, converted.b);
    Assert.assertEquals(resultC, converted.c);
  }