Repository: camel
Updated Branches:
  refs/heads/master ffc12ed93 -> e86aa1e75


CAMEL-7742: Add unit test - BindyFormatUnmarshallTest to test formatting of 
Numbers (Integer, Double, BigDecimal, Float, Long, ....


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e86aa1e7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e86aa1e7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e86aa1e7

Branch: refs/heads/master
Commit: e86aa1e7560673cb0e5f060a80b28a96e7b22541
Parents: ffc12ed
Author: Charles Moulliard <ch0...@gmail.com>
Authored: Mon Aug 25 12:09:45 2014 +0200
Committer: Charles Moulliard <ch0...@gmail.com>
Committed: Mon Aug 25 12:09:45 2014 +0200

----------------------------------------------------------------------
 .../bindy/number/BindyFormatUnmarshallTest.java | 105 +++++++++++++++++++
 .../src/test/resources/log4j.properties         |   2 +-
 2 files changed, 106 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e86aa1e7/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/number/BindyFormatUnmarshallTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/number/BindyFormatUnmarshallTest.java
 
b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/number/BindyFormatUnmarshallTest.java
new file mode 100644
index 0000000..6341041
--- /dev/null
+++ 
b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/number/BindyFormatUnmarshallTest.java
@@ -0,0 +1,105 @@
+package org.apache.camel.dataformat.bindy.number;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Produce;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
+import org.apache.camel.dataformat.bindy.annotation.DataField;
+import org.apache.camel.model.dataformat.BindyDataFormat;
+import org.apache.camel.model.dataformat.BindyType;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Assert;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+public class BindyFormatUnmarshallTest extends CamelTestSupport {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(BindyFormatUnmarshallTest.class);
+
+    private static final String URI_MOCK_RESULT = "mock:result";
+    private static final String URI_DIRECT_START = "direct:start";
+
+    @Produce(uri = URI_DIRECT_START)
+    private ProducerTemplate template;
+
+    @EndpointInject(uri = URI_MOCK_RESULT)
+    private MockEndpoint result;
+
+    private String record;
+
+    @Test
+    public void testInteger() throws Exception {
+
+        record = "10000,25.12";
+        String intVal = "10000";
+        String bigDecimal = "25.12";
+
+        template.sendBody(record);
+
+        result.expectedMessageCount(1);
+        result.assertIsSatisfied();
+
+        Math math = (Math)result.getExchanges().get(0).getIn().getBody();
+        Assert.assertEquals(math.getIntAmount().toString(),intVal);
+        Assert.assertEquals(math.getBigDecimal().toString(),bigDecimal);
+
+        LOG.info("Math object received : " + math);
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() {
+
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                BindyDataFormat bindy = new BindyDataFormat();
+                bindy.setType(BindyType.Csv);
+                bindy.setClassType(BindyFormatUnmarshallTest.Math.class);
+
+                from(URI_DIRECT_START)
+                   .unmarshal(bindy)
+                   .to(URI_MOCK_RESULT);
+            }
+
+        };
+    }
+
+    @CsvRecord(separator = ",")
+    public static class Math {
+
+        @DataField(pos = 1, pattern = "00")
+        private Integer intAmount;
+
+        @DataField(pos = 2, precision = 2)
+        private BigDecimal bigDecimal;
+
+        public Integer getIntAmount() {
+            return intAmount;
+        }
+
+        public void setIntAmount(Integer intAmount) {
+            this.intAmount = intAmount;
+        }
+
+        public BigDecimal getBigDecimal() {
+            return bigDecimal;
+        }
+
+        public void setBigDecimal(BigDecimal bigDecimal) {
+            this.bigDecimal = bigDecimal;
+        }
+
+        @Override
+        public String toString() {
+            return "intAmount : " + this.intAmount + ", " +
+                   "bigDecimal : " + this.bigDecimal;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/e86aa1e7/components/camel-bindy/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/components/camel-bindy/src/test/resources/log4j.properties 
b/components/camel-bindy/src/test/resources/log4j.properties
index 242f398..b537961 100755
--- a/components/camel-bindy/src/test/resources/log4j.properties
+++ b/components/camel-bindy/src/test/resources/log4j.properties
@@ -31,5 +31,5 @@ log4j.appender.file.layout=org.apache.log4j.PatternLayout
 log4j.appender.file.layout.ConversionPattern=%d %-5p %c{1} - %m %n
 log4j.appender.file.file=target/camel-bindy-test.log
 
-# debug loging for Camel
+# debug logging for Camel
 log4j.logger.org.apache.camel.dataformat.bindy=info

Reply via email to