1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml2.model;
18
19 import org.apache.commons.scxml2.SCXMLExecutor;
20 import org.apache.commons.scxml2.SCXMLTestHelper;
21 import org.apache.commons.scxml2.TriggerEvent;
22 import org.apache.commons.scxml2.env.SimpleDispatcher;
23 import org.junit.Test;
24
25 public class CancelTest {
26
27 @Test
28 public void testCancelBySendId() throws Exception {
29 final SCXML scxml = SCXMLTestHelper.parse("org/apache/commons/scxml2/model/cancel-test-01.xml");
30 final SCXMLExecutor exec = SCXMLTestHelper.getExecutor(scxml, null, new SimpleDispatcher());
31 exec.go();
32 TriggerEvent te = new TriggerEvent("event.foo", TriggerEvent.SIGNAL_EVENT);
33 SCXMLTestHelper.fireEvent(exec, te);
34 Thread.sleep(3000);
35 exec.triggerEvents();
36 SCXMLTestHelper.assertState(exec, "twenty");
37 }
38
39 @Test
40 public void testCancelBySendIdExpr() throws Exception {
41 final SCXML scxml = SCXMLTestHelper.parse("org/apache/commons/scxml2/model/cancel-test-02.xml");
42 final SCXMLExecutor exec = SCXMLTestHelper.getExecutor(scxml, null, new SimpleDispatcher());
43 exec.go();
44 TriggerEvent te = new TriggerEvent("event.foo", TriggerEvent.SIGNAL_EVENT);
45 SCXMLTestHelper.fireEvent(exec, te);
46 Thread.sleep(3000);
47 exec.triggerEvents();
48 SCXMLTestHelper.assertState(exec, "twenty");
49 }
50 }