Test Camel-7578 updated
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3905d4fc Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3905d4fc Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3905d4fc Branch: refs/heads/master Commit: 3905d4fc384962bb4901a9e63fbc5749e8729316 Parents: 71d69df Author: ancosen <anco...@gmail.com> Authored: Wed Jul 9 09:01:56 2014 +0200 Committer: ancosen <anco...@gmail.com> Committed: Wed Jul 9 09:01:56 2014 +0200 ---------------------------------------------------------------------- .../bindy/csv/BindyPatternLocaleTest.java | 152 ++++++++++--------- 1 file changed, 77 insertions(+), 75 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/3905d4fc/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 ac098b2..75827e3 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 @@ -1,102 +1,104 @@ /** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ package org.apache.camel.dataformat.bindy.csv; -import java.text.DateFormat; -import java.util.Collection; -import java.util.HashSet; 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.After; +import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; /** * @version */ -@RunWith(Parameterized.class) public class BindyPatternLocaleTest extends CamelTestSupport { + private Locale origLocale; + + @Before + public void setLanguage() { + origLocale = Locale.getDefault(); + Locale.setDefault(Locale.US); + } - private String locale; + @After + public void restoreLanguage() { + Locale.setDefault(origLocale); + } - public BindyPatternLocaleTest(String locale) { - this.locale = locale; - } + @Test + public void testMarshalling1() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:marshal"); + mock.expectedMessageCount(1); + mock.expectedBodiesReceived("050,010\r\n"); - @Parameters - public static Collection<String[]> localeList() { - Locale list[] = DateFormat.getAvailableLocales(); - Collection<String[]> collection = new HashSet<String[]>(); - for (Locale aLocale : list) { - String[] localeLanguage = { aLocale.getLanguage() }; - collection.add(localeLanguage); - } - return collection; - } + Unity unity = new Unity(); + unity.setMandant(50f); + unity.setReceiver(10f); + template.sendBody("direct:marshal", unity); - @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); + assertMockEndpointsSatisfied(); + } + + @Test + public void testMarshalling2() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:marshal"); + mock.expectedMessageCount(1); + mock.expectedBodiesReceived("080,001\r\n"); - // Injection of one of the available locale - bindy.setLocale(locale); + Unity unity = new Unity(); + unity.setMandant(80f); + unity.setReceiver(1f); + template.sendBody("direct:marshal", unity); - // 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"); + assertMockEndpointsSatisfied(); + } + + @Test + public void testMarshalling3() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:marshal"); + mock.expectedMessageCount(1); + mock.expectedBodiesReceived("000,000\r\n"); - Unity unity = new Unity(); - unity.setMandant(50f); - unity.setReceiver(10f); - template.sendBody("direct:marshal", unity); + Unity unity = new Unity(); + unity.setMandant(0f); + unity.setReceiver(0f); + template.sendBody("direct:marshal", unity); - assertMockEndpointsSatisfied(); - } + assertMockEndpointsSatisfied(); + } - @Override - protected RouteBuilder createRouteBuilder() throws Exception { - return new RouteBuilder() { - @Override - public void configure() throws Exception { - BindyCsvDataFormat bindy = new BindyCsvDataFormat(Unity.class); + @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"); + // As recommended, when we use @Datafield Pattern we must + // specify the default locale + bindy.setLocale("default"); - from("direct:marshal").marshal(bindy).id("marshaller") - .to("mock:marshal"); - } - }; - } + from("direct:marshal").marshal(bindy). + to("mock:marshal"); + } + }; + } }