1
2
3
4
5
6
7
8
9
10 package org.mule.module.scripting.expression;
11
12 import org.mule.DefaultMuleMessage;
13 import org.mule.module.scripting.expression.GroovyExpressionEvaluator;
14 import org.mule.tck.AbstractMuleTestCase;
15 import org.mule.tck.testmodels.fruit.Apple;
16 import org.mule.tck.testmodels.fruit.Banana;
17 import org.mule.tck.testmodels.fruit.FruitBowl;
18
19 public class GroovyExpressionEvaluatorTestCase extends AbstractMuleTestCase
20 {
21
22 public void testWithExpressions()
23 {
24 Apple apple = new Apple();
25 apple.wash();
26 Banana banana = new Banana();
27 banana.bite();
28 FruitBowl payload = new FruitBowl(apple, banana);
29 DefaultMuleMessage msg = new DefaultMuleMessage(payload);
30 GroovyExpressionEvaluator e = new GroovyExpressionEvaluator();
31 Object value = e.evaluate("payload.apple.washed", msg);
32 assertNotNull(value);
33 assertTrue(value instanceof Boolean);
34 assertTrue(((Boolean) value).booleanValue());
35
36 value = e.evaluate("message.payload.banana.bitten", msg);
37 assertNotNull(value);
38 assertTrue(value instanceof Boolean);
39 assertTrue(((Boolean) value).booleanValue());
40
41 value = e.evaluate("payload.apple.washed", payload);
42 assertNotNull(value);
43 assertTrue(value instanceof Boolean);
44 assertTrue(((Boolean) value).booleanValue());
45
46 value = e.evaluate("bar", msg);
47 assertNull(value);
48 }
49 }