Author: julien(a)jboss.com
Date: 2007-10-10 09:37:03 -0400 (Wed, 10 Oct 2007)
New Revision: 8585
Modified:
modules/test/trunk/build/ide/intellij/idea60/modules/mc/mc.iml
modules/test/trunk/build/ide/intellij/idea60/modules/remote/remote.iml
modules/test/trunk/build/ide/intellij/idea60/modules/tooling/tooling.iml
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java
modules/test/trunk/unit/src/main/org/jboss/unit/info/impl/SimpleTestInfo.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/util/CollectionTools.java
Log:
added test case for end test event containing the test parametrization
Modified: modules/test/trunk/build/ide/intellij/idea60/modules/mc/mc.iml
===================================================================
--- modules/test/trunk/build/ide/intellij/idea60/modules/mc/mc.iml 2007-10-10 13:30:21 UTC
(rev 8584)
+++ modules/test/trunk/build/ide/intellij/idea60/modules/mc/mc.iml 2007-10-10 13:37:03 UTC
(rev 8585)
@@ -173,5 +173,9 @@
</orderEntry>
<orderEntryProperties />
</component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn" />
+ <option name="USE_PROJECT_VCS" value="false" />
+ </component>
</module>
Modified: modules/test/trunk/build/ide/intellij/idea60/modules/remote/remote.iml
===================================================================
--- modules/test/trunk/build/ide/intellij/idea60/modules/remote/remote.iml 2007-10-10
13:30:21 UTC (rev 8584)
+++ modules/test/trunk/build/ide/intellij/idea60/modules/remote/remote.iml 2007-10-10
13:37:03 UTC (rev 8585)
@@ -39,5 +39,9 @@
<orderEntry type="module" module-name="test" />
<orderEntryProperties />
</component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn" />
+ <option name="USE_PROJECT_VCS" value="false" />
+ </component>
</module>
Modified: modules/test/trunk/build/ide/intellij/idea60/modules/tooling/tooling.iml
===================================================================
--- modules/test/trunk/build/ide/intellij/idea60/modules/tooling/tooling.iml 2007-10-10
13:30:21 UTC (rev 8584)
+++ modules/test/trunk/build/ide/intellij/idea60/modules/tooling/tooling.iml 2007-10-10
13:37:03 UTC (rev 8585)
@@ -11,5 +11,9 @@
<orderEntry type="module" module-name="unit" />
<orderEntryProperties />
</component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn" />
+ <option name="USE_PROJECT_VCS" value="false" />
+ </component>
</module>
Modified:
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java 2007-10-10
13:30:21 UTC (rev 8584)
+++
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java 2007-10-10
13:37:03 UTC (rev 8585)
@@ -26,6 +26,7 @@
import org.jboss.unit.runner.TestRunnerEventListener;
import org.jboss.unit.runner.TestRunnerEvent;
import org.jboss.unit.runner.TestResult;
+import org.jboss.unit.runner.ParametrizationSet;
import org.jboss.unit.runner.results.TestFailure;
import org.jboss.unit.runner.results.TestSuccess;
import org.jboss.unit.runner.event.EndTestEvent;
@@ -40,12 +41,17 @@
import org.jboss.unit.info.TestInfo;
import org.jboss.unit.info.impl.SimpleTestSuiteInfo;
import org.jboss.unit.info.impl.SimpleTestCaseInfo;
+import org.jboss.unit.info.impl.SimpleParameterInfo;
import org.jboss.unit.TestId;
import org.jboss.unit.FailureType;
import org.jboss.unit.Failure;
import java.util.List;
import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Set;
+import java.util.HashSet;
import static org.jboss.unit.api.Assert.*;
import static org.jboss.unit.api.Assert.assertEquals;
@@ -57,42 +63,138 @@
public class TestDriverRunnerTests
{
- private static class Blah implements TestRunnerEventListener
+ public static void main(String[] args)
{
+ testEmptyDriver();
- /** . */
- private final List<TestRunnerEvent> events = new
ArrayList<TestRunnerEvent>();
+ //
+ testTestDriverInvokeTestCaseReturnsNull();
+ testTestDriverInvokeTestCaseReturnsAnEndTestResponse();
+ testTestDriverInvokeTestCaseReturnsAFailureResponse();
+ testTestDriverInvokeTestCaseThrowsRuntimeException();
+ testTestDriverInvokeTestCaseThrowsError();
- public void onEvent(TestRunnerEvent event)
+ //
+ testInvokeTestCaseWithParameters1();
+ testInvokeTestCaseWithParameters2();
+
+ // testInvokeTestSuiteWithParameters()
+ }
+
+ private static void testInvokeTestCaseWithParameters1()
+ {
+ Map<String,String[]> tmp = new HashMap<String, String[]>();
+ tmp.put("foo", new String[]{"bar"});
+ ParametrizationSet parametrizationSet = new ParametrizationSet(tmp);
+
+ //
+ TestDriverImpl testDriver = new TestDriverImpl()
{
- events.add(event);
- }
+ public DriverResponse invoke(TestId id, DriverCommand command)
+ {
+ return new EndTestResponse();
+ }
+ };
+ testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
+ TestDriverRunner runner = new TestDriverRunner(testDriver, parametrizationSet, new
TestId());
+
+ //
+ EventList listener = new EventList();
+ runner.addListener(listener);
+
+ //
+ runner.run();
+
+ //
+ assertEquals(4, listener.events.size());
+ assertStartRunnerEvent(listener.events.get(0));
+ assertStartTestEvent(listener.events.get(1), new TestId("Foo"));
+ assertEndTestEvent(listener.events.get(2), new TestId("Foo"), new
TestSuccess(0));
+ assertEndRunnerEvent(listener.events.get(3));
+
+ // Check parametrization
+ Set<Map<String,String>> s1 = new HashSet<Map<String,
String>>();
+ s1.add(new HashMap<String,String>());
+ Set<Map<String,String>> s2 = new HashSet<Map<String,
String>>();
+
s2.add(((EndTestEvent)listener.events.get(2)).getTestResult().getParametrization());
+ assertEquals(s1, s2);
}
- public static void main(String[] args)
+ private static void testInvokeTestCaseWithParameters2()
{
- testEmptyDriver();
- testTestDriverInvokeReturnsNull();
- testTestDriverInvokeReturnsAnEndTestResponse();
- testTestDriverInvokeReturnsAFailureResponse();
- testTestDriverInvokeThrowsRuntimeException();
+ Map<String,String[]> tmp = new HashMap<String, String[]>();
+ tmp.put("foo", new String[]{"bar1","bar2"});
+ ParametrizationSet parametrizationSet = new ParametrizationSet(tmp);
+ //
+ TestDriverImpl testDriver = new TestDriverImpl()
+ {
+ public DriverResponse invoke(TestId id, DriverCommand command)
+ {
+ return new EndTestResponse();
+ }
+ };
+ SimpleTestCaseInfo caseInfo = new SimpleTestCaseInfo("Foo");
+ Map<String,SimpleParameterInfo> blah = new
HashMap<String,SimpleParameterInfo>(caseInfo.getParameters());
+ blah.put("foo", new SimpleParameterInfo("foo"));
+ caseInfo.setParameters(blah);
+ testDriver.info.addTest(caseInfo);
+ TestDriverRunner runner = new TestDriverRunner(testDriver, parametrizationSet, new
TestId());
+ //
+ EventList listener = new EventList();
+ runner.addListener(listener);
+
+ //
+ runner.run();
+
+ //
+ assertEquals(6, listener.events.size());
+ assertStartRunnerEvent(listener.events.get(0));
+ assertStartTestEvent(listener.events.get(1), new TestId("Foo"));
+ assertEndTestEvent(listener.events.get(2), new TestId("Foo"), new
TestSuccess(0));
+ assertStartTestEvent(listener.events.get(3), new TestId("Foo"));
+ assertEndTestEvent(listener.events.get(4), new TestId("Foo"), new
TestSuccess(0));
+ assertEndRunnerEvent(listener.events.get(5));
+
+ // Check parametrization
+ Set<Map<String,String>> s1 = new HashSet<Map<String,
String>>();
+ Map<String,String> p1 = new HashMap<String, String>();
+ p1.put("foo", "bar1");
+ Map<String,String> p2 = new HashMap<String, String>();
+ p2.put("foo", "bar2");
+ s1.add(p1);
+ s1.add(p2);
+ Set<Map<String,String>> s2 = new HashSet<Map<String,
String>>();
+
s2.add(((EndTestEvent)listener.events.get(2)).getTestResult().getParametrization());
+
s2.add(((EndTestEvent)listener.events.get(4)).getTestResult().getParametrization());
+ assertEquals(s1, s2);
}
private static void testEmptyDriver()
{
TestDriverImpl testDriver = new TestDriverImpl();
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
+
+ //
+ EventList listener = new EventList();
+ runner.addListener(listener);
+
+ //
runner.run();
+
+ //
+ assertEquals(2, listener.events.size());
+ assertStartRunnerEvent(listener.events.get(0));
+ assertEndRunnerEvent(listener.events.get(1));
}
- private static void testTestDriverInvokeReturnsNull()
+ private static void testTestDriverInvokeTestCaseReturnsNull()
{
TestDriverImpl testDriver = new TestDriverImpl();
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
- Blah listener = new Blah();
+ EventList listener = new EventList();
runner.addListener(listener);
//
@@ -106,7 +208,7 @@
assertEndRunnerEvent(listener.events.get(3));
}
- private static void testTestDriverInvokeReturnsAnEndTestResponse()
+ private static void testTestDriverInvokeTestCaseReturnsAnEndTestResponse()
{
TestDriverImpl testDriver = new TestDriverImpl()
{
@@ -117,7 +219,7 @@
};
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
- Blah listener = new Blah();
+ EventList listener = new EventList();
runner.addListener(listener);
//
@@ -131,7 +233,7 @@
assertEndRunnerEvent(listener.events.get(3));
}
- private static void testTestDriverInvokeReturnsAFailureResponse()
+ private static void testTestDriverInvokeTestCaseReturnsAFailureResponse()
{
TestDriverImpl testDriver = new TestDriverImpl()
{
@@ -142,7 +244,7 @@
};
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
- Blah listener = new Blah();
+ EventList listener = new EventList();
runner.addListener(listener);
//
@@ -156,7 +258,7 @@
assertEndRunnerEvent(listener.events.get(3));
}
- private static void testTestDriverInvokeThrowsRuntimeException()
+ private static void testTestDriverInvokeTestCaseThrowsRuntimeException()
{
TestDriverImpl testDriver = new TestDriverImpl()
{
@@ -167,7 +269,7 @@
};
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
- Blah listener = new Blah();
+ EventList listener = new EventList();
runner.addListener(listener);
//
@@ -181,6 +283,39 @@
assertEndRunnerEvent(listener.events.get(3));
}
+ private static void testTestDriverInvokeTestCaseThrowsError()
+ {
+ final Error error = new Error();
+
+ //
+ TestDriverImpl testDriver = new TestDriverImpl()
+ {
+ public DriverResponse invoke(TestId id, DriverCommand command)
+ {
+ throw error;
+ }
+ };
+ testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
+ TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
+ EventList listener = new EventList();
+ runner.addListener(listener);
+
+ //
+ try
+ {
+ runner.run();
+ }
+ catch (Error e)
+ {
+ assertSame(error, e);
+ }
+
+ //
+ assertEquals(2, listener.events.size());
+ assertStartRunnerEvent(listener.events.get(0));
+ assertStartTestEvent(listener.events.get(1), new TestId("Foo"));
+ }
+
private static class TestDriverImpl implements TestDriver
{
@@ -209,20 +344,22 @@
assertEquals(expectedTestId, startEvent.getTestId());
}
- private static void assertEndTestEvent(TestRunnerEvent event, TestId expectedTestId,
TestResult expectedResult)
+ private static void assertEndTestEvent(TestRunnerEvent event, TestId expectedTestId,
TestResult expectedTestResult)
{
EndTestEvent endEvent = assertInstanceOf(event, EndTestEvent.class);
assertEquals(expectedTestId, endEvent.getTestId());
- if (expectedResult instanceof TestFailure)
+
+ //
+ TestResult testResult = endEvent.getTestResult();
+ if (expectedTestResult instanceof TestFailure)
{
- TestFailure expectedTestFailure = (TestFailure)expectedResult;
- TestFailure testFailure = assertInstanceOf(endEvent.getTestResult(),
TestFailure.class);
+ TestFailure expectedTestFailure = (TestFailure)expectedTestResult;
+ TestFailure testFailure = assertInstanceOf(testResult, TestFailure.class);
assertEquals(expectedTestFailure.getFailure().getType(),
testFailure.getFailure().getType());
}
- else if (expectedResult instanceof TestSuccess)
+ else if (expectedTestResult instanceof TestSuccess)
{
- TestSuccess expectedTestSuccess = (TestSuccess)expectedResult;
- TestSuccess testSuccess = assertInstanceOf(endEvent.getTestResult(),
TestSuccess.class);
+ assertInstanceOf(testResult, TestSuccess.class);
}
}
@@ -230,4 +367,16 @@
{
assertInstanceOf(event, EndRunnerEvent.class);
}
+
+ private static class EventList implements TestRunnerEventListener
+ {
+
+ /** . */
+ private final List<TestRunnerEvent> events = new
ArrayList<TestRunnerEvent>();
+
+ public void onEvent(TestRunnerEvent event)
+ {
+ events.add(event);
+ }
+ }
}
Modified: modules/test/trunk/unit/src/main/org/jboss/unit/info/impl/SimpleTestInfo.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/info/impl/SimpleTestInfo.java 2007-10-10
13:30:21 UTC (rev 8584)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/info/impl/SimpleTestInfo.java 2007-10-10
13:37:03 UTC (rev 8585)
@@ -100,7 +100,7 @@
this.description = description;
}
- public Map<String, ? extends ParameterInfo> getParameters()
+ public Map<String, SimpleParameterInfo> getParameters()
{
return Collections.unmodifiableMap(parameters);
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java 2007-10-10
13:30:21 UTC (rev 8584)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java 2007-10-10
13:37:03 UTC (rev 8585)
@@ -132,13 +132,13 @@
catch (Exception e)
{
Failure failure = new Failure("The test driver threw an unexpected
exception ", e, FailureType.ERROR);
- result = new TestFailure(failure, 0);
+ result = new TestFailure(failure, parametrization, 0);
}
//
if (result == null)
{
- result = unwrap(response);
+ result = unwrap(response, parametrization);
}
//
@@ -148,22 +148,22 @@
}
}
- private TestResult unwrap(DriverResponse response)
+ private TestResult unwrap(DriverResponse response, Map<String,String>
parametrization)
{
if (response instanceof EndTestResponse)
{
- return new TestSuccess(0);
+ return new TestSuccess(parametrization, 0);
}
else if (response instanceof FailureResponse)
{
FailureResponse failureResponse = (FailureResponse)response;
Failure failure = failureResponse.getFailure();
- return new TestFailure(failure, 0);
+ return new TestFailure(failure, parametrization, 0);
}
else
{
Failure failure = new Failure("The test driver returned an unexpected
response " + response, FailureType.ERROR);
- return new TestFailure(failure, 0);
+ return new TestFailure(failure, parametrization, 0);
}
}
}
Modified: modules/test/trunk/unit/src/main/org/jboss/unit/util/CollectionTools.java
===================================================================
--- modules/test/trunk/unit/src/main/org/jboss/unit/util/CollectionTools.java 2007-10-10
13:30:21 UTC (rev 8584)
+++ modules/test/trunk/unit/src/main/org/jboss/unit/util/CollectionTools.java 2007-10-10
13:37:03 UTC (rev 8585)
@@ -102,4 +102,5 @@
}
return collection;
}
+
}