1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.json;
12
13 import java.util.ArrayList;
14 import java.util.List;
15
16 import org.codehaus.jackson.node.ObjectNode;
17 import org.junit.Test;
18
19 import static org.junit.Assert.assertEquals;
20
21 public class JsonNodeExpressionEvaluatorTestCase extends JsonExpressionEvaluatorTestCase
22 {
23
24 @Override
25 protected JsonExpressionEvaluator getEvaluator()
26 {
27 return new JsonNodeExpressionEvaluator();
28 }
29
30 @Override
31 protected String getEvaluatorName()
32 {
33 return "json-node";
34 }
35
36 @Test
37 public void testReturnTypes()
38 {
39
40 assertEquals(String.class, eval.evaluate("[0]/user/name", message).getClass());
41
42 assertEquals(String.class, eval.evaluate("[0]/id", message).getClass());
43
44 assertEquals(String.class, eval.evaluate("[0]/truncated", message).getClass());
45
46 assertEquals(ObjectNode.class, eval.evaluate("[0]/user", message).getClass());
47
48 assertEquals(ArrayList.class, eval.evaluate("[0]/anArray", message).getClass());
49 assertEquals(String.class, ((List) eval.evaluate("[0]/anArray", message)).get(0).getClass());
50 assertEquals(ObjectNode.class, ((List) eval.evaluate("[0]/anArray", message)).get(1).getClass());
51 assertEquals(ArrayList.class, ((List) eval.evaluate("[0]/anArray", message)).get(2).getClass());
52 }
53
54 }