1
2
3
4
5
6
7
8
9
10 package org.mule.transformer.simple;
11
12 import org.mule.api.endpoint.EndpointBuilder;
13 import org.mule.api.endpoint.ImmutableEndpoint;
14 import org.mule.api.transformer.Transformer;
15 import org.mule.config.i18n.LocaleMessageHandler;
16 import org.mule.endpoint.EndpointURIEndpointBuilder;
17 import org.mule.transformer.AbstractTransformerTestCase;
18 import org.mule.transformer.types.DataTypeFactory;
19
20 import java.io.UnsupportedEncodingException;
21 import java.util.Locale;
22
23 public class StringToObjectArrayTestCase extends AbstractTransformerTestCase
24 {
25
26 private String encoding = "Windows-31J";
27
28 @Override
29 public Object getResultData()
30 {
31 return new String[]{ getMessage("char0"), getMessage("char1"), getMessage("char2") };
32 }
33
34 @Override
35 public Object getTestData()
36 {
37 try
38 {
39 return getMessage("message").getBytes(encoding);
40 }
41 catch (UnsupportedEncodingException e)
42 {
43 throw new RuntimeException(e);
44 }
45 }
46
47 @Override
48 public Transformer getTransformer() throws Exception
49 {
50 Transformer trans = createObject(StringToObjectArray.class);
51 trans.setReturnDataType(DataTypeFactory.create(Object[].class));
52
53 EndpointBuilder builder = new EndpointURIEndpointBuilder("test://test", muleContext);
54 builder.setEncoding(encoding);
55 ImmutableEndpoint endpoint = muleContext.getEndpointFactory().getInboundEndpoint(
56 builder);
57 trans.setEndpoint(endpoint);
58
59 return trans;
60 }
61
62 @Override
63 public Transformer getRoundTripTransformer() throws Exception
64 {
65 return new ObjectArrayToString();
66 }
67
68 @Override
69 public boolean compareResults(Object expected, Object result)
70 {
71 return super.compareResults(expected, result);
72 }
73
74 @Override
75 public boolean compareRoundtripResults(Object expected, Object result)
76 {
77 try
78 {
79 return super.compareRoundtripResults(expected, ((String)result).getBytes(encoding));
80 }
81 catch (UnsupportedEncodingException e)
82 {
83 throw new RuntimeException(e);
84 }
85 }
86
87 private String getMessage(String key)
88 {
89 return LocaleMessageHandler.getString("test-data", Locale.JAPAN, "StringToObjectArrayTestCase." + key, new Object[] {});
90 }
91
92 }