craigmcc 01/08/18 13:30:52
Modified: workflow build.xml
workflow/src/test/org/apache/commons/workflow/base
BaseActivityTestCase.java TestStep.java
Added: workflow/src/test/org/apache/commons/workflow/base
BaseExecuteTestCase.java
Log:
Add basic test for executing an Activity.
Revision Changes Path
1.4 +12 -2 jakarta-commons-sandbox/workflow/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/workflow/build.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- build.xml 2001/08/17 20:37:00 1.3
+++ build.xml 2001/08/18 20:30:52 1.4
@@ -3,7 +3,7 @@
<!--
"Workflow" component of the Jakarta Commons Subproject
- $Id: build.xml,v 1.3 2001/08/17 20:37:00 craigmcc Exp $
+ $Id: build.xml,v 1.4 2001/08/18 20:30:52 craigmcc Exp $
-->
@@ -239,7 +239,8 @@
<target name="test" depends="compile.tests,
test.BaseActivity,
- test.BaseContext"
+ test.BaseContext,
+ test.BaseExecute"
description="Run all unit test cases">
</target>
@@ -259,6 +260,15 @@
<java classname="${test.runner}" fork="yes"
failonerror="${test.failonerror}">
<arg value="org.apache.commons.workflow.base.BaseContextTestCase"/>
+ <classpath refid="test.classpath"/>
+ </java>
+ </target>
+
+ <target name="test.BaseExecute">
+ <echo message="Running BaseExecute tests ..."/>
+ <java classname="${test.runner}" fork="yes"
+ failonerror="${test.failonerror}">
+ <arg value="org.apache.commons.workflow.base.BaseExecuteTestCase"/>
<classpath refid="test.classpath"/>
</java>
</target>
1.2 +4 -4
jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/BaseActivityTestCase.java
Index: BaseActivityTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/BaseActivityTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BaseActivityTestCase.java 2001/08/17 20:37:00 1.1
+++ BaseActivityTestCase.java 2001/08/18 20:30:52 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/BaseActivityTestCase.java,v
1.1 2001/08/17 20:37:00 craigmcc Exp $
- * $Revision: 1.1 $
- * $Date: 2001/08/17 20:37:00 $
+ * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/BaseActivityTestCase.java,v
1.2 2001/08/18 20:30:52 craigmcc Exp $
+ * $Revision: 1.2 $
+ * $Date: 2001/08/18 20:30:52 $
*
* ====================================================================
*
@@ -78,7 +78,7 @@
* Step execution (and therefore require a Context).</p>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2001/08/17 20:37:00 $
+ * @version $Revision: 1.2 $ $Date: 2001/08/18 20:30:52 $
*/
public class BaseActivityTestCase extends TestCase {
@@ -88,7 +88,7 @@
/**
- * The digester instance we will be testing.
+ * The activity instance we will be testing.
*/
protected Activity activity = null;
1.2 +7 -7
jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/TestStep.java
Index: TestStep.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/TestStep.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestStep.java 2001/08/17 20:37:00 1.1
+++ TestStep.java 2001/08/18 20:30:52 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/TestStep.java,v
1.1 2001/08/17 20:37:00 craigmcc Exp $
- * $Revision: 1.1 $
- * $Date: 2001/08/17 20:37:00 $
+ * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/TestStep.java,v
1.2 2001/08/18 20:30:52 craigmcc Exp $
+ * $Revision: 1.2 $
+ * $Date: 2001/08/18 20:30:52 $
*
* ====================================================================
*
@@ -71,7 +71,7 @@
* Test implementation of the <code>Step</code> interface.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2001/08/17 20:37:00 $
+ * @version $Revision: 1.2 $ $Date: 2001/08/18 20:30:52 $
*/
public class TestStep extends BaseStep {
@@ -148,13 +148,13 @@
*/
public void execute(Context context) throws StepException {
- // Throw an exception if we are configured to do so
- if (fail)
- throw new StepException("StepException[" + id + "]", this);
-
// Record the execution of this Step in the execution trace
results.append(id);
results.append('/');
+
+ // Throw an exception if we are configured to do so
+ if (fail)
+ throw new StepException("StepException[" + id + "]", this);
}
1.1
jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/BaseExecuteTestCase.java
Index: BaseExecuteTestCase.java
===================================================================
/*
* $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/test/org/apache/commons/workflow/base/BaseExecuteTestCase.java,v
1.1 2001/08/18 20:30:52 craigmcc Exp $
* $Revision: 1.1 $
* $Date: 2001/08/18 20:30:52 $
*
* ====================================================================
*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
*/
package org.apache.commons.workflow.base;
import java.util.EmptyStackException;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.commons.workflow.Activity;
import org.apache.commons.workflow.Context;
import org.apache.commons.workflow.Scope;
import org.apache.commons.workflow.Step;
import org.apache.commons.workflow.StepException;
/**
* <p>Test Case for the BaseActivity class. These tests exercise those
* features of Activity and Step implementations that do not perform any
* Step execution (and therefore require a Context).</p>
*
* @author Craig R. McClanahan
* @version $Revision: 1.1 $ $Date: 2001/08/18 20:30:52 $
*/
public class BaseExecuteTestCase extends TestCase {
// ----------------------------------------------------- Instance Variables
/**
* The activity instance we will be testing.
*/
protected Activity activity = null;
/**
* The context instance we will be testing.
*/
protected Context context = null;
// ----------------------------------------------------------- Constructors
/**
* Construct a new instance of this test case.
*
* @param name Name of the test case
*/
public BaseExecuteTestCase(String name) {
super(name);
}
// --------------------------------------------------- Overall Test Methods
/**
* Set up instance variables required by this test case.
*/
public void setUp() {
activity = new BaseActivity();
context = new BaseContext();
}
/**
* Return the tests included in this test suite.
*/
public static Test suite() {
return (new TestSuite(BaseExecuteTestCase.class));
}
/**
* Tear down instance variables required by this test case.
*/
public void tearDown() {
context = null;
activity = null;
}
// ------------------------------------------------ Individual Test Methods
/**
* Negative test (should throw StepException).
*/
public void testBaseNegative() {
activity.addStep(new TestStep("Step 0", false));
activity.addStep(new TestStep("Step 1", true));
activity.addStep(new TestStep("Step 2", false));
context.setActivity(activity);
TestStep.clearResults();
try {
context.execute();
fail("Should have thrown StepException");
} catch (StepException e) {
assertEquals("Executed step 0-1", "Step 0/Step 1/",
TestStep.getResults());
assertEquals("Exception thrown by step 1", "Step 1",
e.getStep().getId());
}
}
/**
* Positive test (should execute the entire Activity).
*/
public void testBasePositive() {
activity.addStep(new TestStep("Step 0", false));
activity.addStep(new TestStep("Step 1", false));
activity.addStep(new TestStep("Step 2", false));
context.setActivity(activity);
TestStep.clearResults();
try {
context.execute();
assertEquals("Executed step 0-2", "Step 0/Step 1/Step 2/",
TestStep.getResults());
} catch (StepException e) {
fail("Threw StepException");
}
}
}