1 package org.sapia.soto.state; 2 3 import junit.framework.TestCase; 4 5 6 14 public class ExecContainerTest extends TestCase { 15 18 public ExecContainerTest(String 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 66 protected void handleError(Result st) { 67 error = true; 68 } 69 70 73 protected void handleSuccess(Result st) { 74 success = true; 75 } 76 } 77 } 78 | Popular Tags |