Test @Datafield pattern with Locale

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

Branch: refs/heads/master
Commit: 9743c50cee8e086f808da6b6d700fa38f098fe8e
Parents: 8ffb77b
Author: ancosen <[email protected]>
Authored: Sun Jul 6 14:57:39 2014 +0200
Committer: ancosen <[email protected]>
Committed: Sun Jul 6 14:57:39 2014 +0200

----------------------------------------------------------------------
 .../bindy/csv/BindyPatternLocaleTest.java       | 120 ++++++++++++++-----
 1 file changed, 89 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/9743c50c/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPatternLocaleTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPatternLocaleTest.java
 
b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPatternLocaleTest.java
index d62ca2f..58bbe24 100644
--- 
a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPatternLocaleTest.java
+++ 
b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPatternLocaleTest.java
@@ -16,45 +16,103 @@
  */
 package org.apache.camel.dataformat.bindy.csv;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Locale;
+
+import org.apache.camel.builder.AdviceWithRouteBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.dataformat.bindy.model.padding.Unity;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
 
 /**
- * @version
+ * @version 
  */
+@RunWith(Parameterized.class)
 public class BindyPatternLocaleTest extends CamelTestSupport {
+       
+       private String locale;
+       
+       public BindyPatternLocaleTest(String locale) {
+                       this.locale = locale;
+   }
+
+       @Parameters
+       public static Collection<String[]> localeList() {
+               return Arrays.asList(new String[][] { 
+                               {Locale.CANADA.getCountry()}, 
+                               {Locale.CANADA_FRENCH.getCountry()},
+                               {Locale.CHINA.getCountry()},
+                               {Locale.CHINESE.getLanguage()},
+                               {Locale.ENGLISH.getLanguage()},
+                               {Locale.FRANCE.getCountry()},
+                               {Locale.FRENCH.getLanguage()},
+                               {Locale.GERMAN.getLanguage()},
+                               {Locale.GERMANY.getCountry()},
+                               {Locale.ITALIAN.getLanguage()},
+                               {Locale.ITALY.getCountry()},
+                               {Locale.JAPAN.getCountry()},
+                               {Locale.JAPANESE.getLanguage()},
+                               {Locale.KOREA.getCountry()},
+                               {Locale.KOREAN.getLanguage()},
+                               {Locale.PRC.getCountry()},
+                               {Locale.SIMPLIFIED_CHINESE.getLanguage()},
+                               {Locale.TAIWAN.getCountry()},
+                               {Locale.TRADITIONAL_CHINESE.getLanguage()},
+                               {Locale.UK.getCountry()},
+                               {Locale.US.getCountry()},
+               });
+       }
+
+       @Test
+       public void testMarshalling() throws Exception {
+               context.getRouteDefinitions().get(0)
+                               .adviceWith(context, new 
AdviceWithRouteBuilder() {
+                                       @Override
+                                       public void configure() throws 
Exception {
+                                               BindyCsvDataFormat bindy = new 
BindyCsvDataFormat(
+                                                               Unity.class);
+
+                                               // As recommended, when we use 
@Datafield Pattern we
+                                               // must specify the default 
locale
+                                               bindy.setLocale(locale);
+
+                                               // weave the node in the route 
which has id = marshaller
+                                               // and replace it with the 
following route path
+                                               
weaveById("marshaller").replace().marshal(bindy);
+                                       }
+                               });
+               MockEndpoint mock = getMockEndpoint("mock:marshal");
+               mock.expectedMessageCount(1);
+               mock.expectedBodiesReceived("050,010\r\n");
+
+               Unity unity = new Unity();
+               unity.setMandant(50f);
+               unity.setReceiver(10f);
+               template.sendBody("direct:marshal", unity);
+
+               assertMockEndpointsSatisfied();
+       }
+
+       @Override
+       protected RouteBuilder createRouteBuilder() throws Exception {
+               return new RouteBuilder() {
+                       @Override
+                       public void configure() throws Exception {
+                               BindyCsvDataFormat bindy = new 
BindyCsvDataFormat(Unity.class);
+
+                               // As recommended, when we use @Datafield 
Pattern we must
+                               // specify the default locale
+                               bindy.setLocale("default");
 
-    @Test
-    public void testMarshalling() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:marshal");
-        mock.expectedMessageCount(1);
-        mock.expectedBodiesReceived("050,010\r\n");
-
-        Unity unity = new Unity();
-        unity.setMandant(50f);
-        unity.setReceiver(10f);
-        template.sendBody("direct:marshal", unity);
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                BindyCsvDataFormat bindy = new BindyCsvDataFormat(Unity.class);
-
-                // As recommended, when we use @Datafield Pattern we must 
specify the default locale
-                bindy.setLocale("default");
-                
-                from("direct:marshal")
-                        .marshal(bindy)
-                        .to("mock:marshal");
-            }
-        };
-    }
+                               
from("direct:marshal").marshal(bindy).id("marshaller")
+                                               .to("mock:marshal");
+                       }
+               };
+       }
 }

Reply via email to