1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformer;
12
13 import org.mule.api.transformer.Transformer;
14 import org.mule.api.transformer.TransformerException;
15 import org.mule.transformer.types.DataTypeFactory;
16 import org.mule.transport.NullPayload;
17
18 public class NullResultTestCase extends AbstractTransformerTestCase
19 {
20 private final NullResultTransformer transformer = new NullResultTransformer();
21
22 @Override
23 public Object getTestData()
24 {
25 return new Object();
26 }
27
28 @Override
29 public Object getResultData()
30 {
31 return NullPayload.getInstance();
32 }
33
34 @Override
35 public Transformer getTransformer() throws Exception
36 {
37 return transformer;
38 }
39
40 @Override
41 public Transformer getRoundTripTransformer() throws Exception
42 {
43 return null;
44 }
45
46 public void testNullNotExpected() throws Exception
47 {
48 transformer.setReturnDataType(DataTypeFactory.STRING);
49 try
50 {
51 testTransform();
52 fail("Transformer should have thrown an exception because the return class doesn't match the result.");
53 }
54 catch (TransformerException e)
55 {
56
57 }
58 }
59
60 public static final class NullResultTransformer extends AbstractTransformer
61 {
62 public NullResultTransformer()
63 {
64 super();
65 this.registerSourceType(DataTypeFactory.OBJECT);
66 this.setReturnDataType(DataTypeFactory.create(NullPayload.class));
67 }
68
69 @Override
70 public Object doTransform(Object src, String encoding) throws TransformerException
71 {
72 return null;
73 }
74 }
75 }