KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > soto > state > ExecContainerTest


1 package org.sapia.soto.state;
2
3 import junit.framework.TestCase;
4
5
6 /**
7  * @author Yanick Duchesne
8  * <dl>
9  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
10  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
11  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
12  * </dl>
13  */

14 public class ExecContainerTest extends TestCase {
15   /**
16    *
17    */

18   public ExecContainerTest(String JavaDoc name) {
19     super(name);
20   }
21
22   public void testAddExecutable() {
23     Executable exec = new Executable() {
24         public void execute(Result st) {
25         }
26       };
27
28     ExecContainer container = new ExecContainer();
29     container.addExecutable(exec);
30     super.assertEquals(1, container._execs.size());
31   }
32
33   public void testExecSuccess() {
34     TestExecContainer cont = new TestExecContainer();
35     TestStep step1 = new TestStep(true);
36     TestStep step2 = new TestStep(true);
37     cont.addExecutable(step1);
38     cont.addExecutable(step2);
39     cont.execute(new Result(new StateMachine(), new ContextImpl()));
40     super.assertTrue(cont.success);
41     super.assertTrue(!cont.error);
42     super.assertTrue(step1.exec);
43     super.assertTrue(step2.exec);
44   }
45
46   public void testExecError() {
47     TestExecContainer cont = new TestExecContainer();
48     TestStep step1 = new TestStep(false);
49     TestStep step2 = new TestStep(true);
50     cont.addExecutable(step1);
51     cont.addExecutable(step2);
52     cont.execute(new Result(new StateMachine(), new ContextImpl()));
53     super.assertTrue(!cont.success);
54     super.assertTrue(cont.error);
55     super.assertTrue(step1.exec);
56     super.assertTrue(!step2.exec);
57   }
58
59   static class TestExecContainer extends ExecContainer {
60     boolean success;
61     boolean error;
62
63     /**
64      * @see org.sapia.soto.flow.ExecContainer#handleError(org.sapia.soto.flow.State)
65      */

66     protected void handleError(Result st) {
67       error = true;
68     }
69
70     /**
71      * @see org.sapia.soto.flow.ExecContainer#handleSuccess(org.sapia.soto.flow.State)
72      */

73     protected void handleSuccess(Result st) {
74       success = true;
75     }
76   }
77 }
78
Popular Tags