1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml.env.jexl;
18
19 import java.net.URL;
20 import java.util.Set;
21
22 import junit.framework.Test;
23 import junit.framework.TestCase;
24 import junit.framework.TestSuite;
25
26 import org.apache.commons.scxml.Context;
27 import org.apache.commons.scxml.SCXMLExecutor;
28 import org.apache.commons.scxml.SCXMLTestHelper;
29 import org.apache.commons.scxml.model.State;
30
31 public class StaticMethodTest extends TestCase {
32
33 private URL staticmethod;
34
35 public StaticMethodTest(String testName) {
36 super(testName);
37 }
38
39 public static Test suite() {
40 return new TestSuite(StaticMethodTest.class);
41 }
42
43 public static void main(String args[]) {
44 String[] testCaseName = {StaticMethodTest.class.getName()};
45 junit.textui.TestRunner.main(testCaseName);
46 }
47
48 /***
49 * Set up instance variables required by this test case.
50 */
51 public void setUp() {
52 staticmethod = this.getClass().getClassLoader().
53 getResource("org/apache/commons/scxml/env/jexl/static-method.xml");
54 }
55
56 /***
57 * Tear down instance variables required by this test case.
58 */
59 public void tearDown() {
60 staticmethod = null;
61 }
62
63 public void testJexlStaticMethodInvocation() {
64 Context jc = new JexlContext();
65 jc.set("System", System.class);
66 SCXMLExecutor exec = SCXMLTestHelper.getExecutor(staticmethod,
67 jc, new JexlEvaluator());
68 Set currentStates = exec.getCurrentStatus().getStates();
69 assertEquals(1, currentStates.size());
70 assertEquals("static", ((State)currentStates.iterator().
71 next()).getId());
72 }
73
74 }