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