View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.transformer.simple;
8   
9   import org.mule.api.transformer.Transformer;
10  import org.mule.api.transformer.TransformerException;
11  import org.mule.tck.junit4.AbstractMuleContextTestCase;
12  
13  import java.math.BigDecimal;
14  
15  import org.junit.Test;
16  
17  import static org.junit.Assert.assertEquals;
18  
19  public class BasicTypeAutoTransformationTestCase extends AbstractMuleContextTestCase
20  {
21  
22      @Test
23      public void testTypes() throws TransformerException
24      {
25          testType("1", Integer.class, Integer.TYPE, Integer.valueOf(1));
26          testType("1", Long.class, Long.TYPE, Long.valueOf(1));
27          testType("1", Short.class, Short.TYPE, Short.valueOf((short) 1));
28          testType("1.1", Double.class, Double.TYPE, Double.valueOf(1.1));
29          testType("1.1", Float.class, Float.TYPE, Float.valueOf((float) 1.1));
30          testType("1.1", BigDecimal.class, null, BigDecimal.valueOf(1.1));
31          testType("true", Boolean.class, Boolean.TYPE, Boolean.TRUE);
32      }
33  
34      protected void testType(String string, Class type, Class primitive, Object value)
35          throws TransformerException
36      {
37          assertEquals(value, lookupFromStringTransformer(type).transform(string));
38          assertEquals(string, lookupToStringTransformer(type).transform(value));
39          if (primitive != null)
40          {
41              assertEquals(value, lookupFromStringTransformer(primitive).transform(string));
42              assertEquals(string, lookupToStringTransformer(primitive).transform(value));
43          }
44      }
45  
46      private Transformer lookupFromStringTransformer(Class to) throws TransformerException
47      {
48          return muleContext.getRegistry().lookupTransformer(String.class, to);
49      }
50  
51      private Transformer lookupToStringTransformer(Class from) throws TransformerException
52      {
53          return muleContext.getRegistry().lookupTransformer(from, String.class);
54      }
55  
56  }