Author: julien(a)jboss.com
Date: 2007-10-01 20:01:43 -0400 (Mon, 01 Oct 2007)
New Revision: 8506
Modified:
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java
Log:
- add test case for composite test runner
Modified:
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java 2007-10-01
22:01:06 UTC (rev 8505)
+++
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java 2007-10-02
00:01:43 UTC (rev 8506)
@@ -26,13 +26,15 @@
import org.jboss.unit.runner.AbstractTestRunner;
import org.jboss.unit.runner.TestFilter;
import org.jboss.unit.runner.TestRunnerEvent;
-import org.jboss.unit.runner.event.EndRunnerEvent;
-import org.jboss.unit.runner.event.StartRunnerEvent;
+import org.jboss.unit.runner.TestRunnerEventListener;
import org.jboss.unit.runner.impl.composite.CompositeTestRunner;
-import org.jboss.unit.runner.impl.event.EventDrivenTestRunner;
+import static org.jboss.unit.api.Assert.*;
+import static org.jboss.unit.util.CollectionTools.*;
+
import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -41,22 +43,134 @@
public class CompositeTestRunnerTests
{
+ private static List<TestRunnerEvent> events = new
ArrayList<TestRunnerEvent>();
+
+ private static TestRunnerEventListener listener = new TestRunnerEventListener()
+ {
+ public void onEvent(TestRunnerEvent event)
+ {
+ events.add(event);
+ }
+ };
+
public static void main(String[] args)
{
+ testCompose();
+ testComposeWithRuntimeException1();
+ testComposeWithRuntimeException2();
+ testComposeWithRuntimeError1();
+ testComposeWithRuntimeError2();
+ }
+ private static void testCompose()
+ {
MyRunner1 runner1 = new MyRunner1();
MyRunner1 runner2 = new MyRunner1();
+ Collection<TestRunner> runners = new ArrayList<TestRunner>();
+ runners.add(runner1);
+ runners.add(runner2);
+ CompositeTestRunner runner = new CompositeTestRunner(runners);
+ runner.addListener(listener);
+ runner.run();
+ assertTrue(runner1.invoked);
+ assertTrue(runner2.invoked);
+ assertEquals(4, events.size());
+ assertEquals(list(runner1.event, runner2.event), events.subList(1, 3));
+ events.clear();
+ }
+ private static void testComposeWithRuntimeException1()
+ {
+ MyRunner1 runner1 = new MyRunner1();
+ MyRunner2 runner2 = new MyRunner2();
Collection<TestRunner> runners = new ArrayList<TestRunner>();
runners.add(runner1);
runners.add(runner2);
+ CompositeTestRunner runner = new CompositeTestRunner(runners);
+ runner.addListener(listener);
+ try
+ {
+ runner.run();
+ fail();
+ }
+ catch (RuntimeException e)
+ {
+ assertSame(runner2.exception, e);
+ }
+ assertEquals(2, events.size());
+ assertTrue(runner1.invoked);
+ assertEquals(list(runner1.event), events.subList(1, 2));
+ events.clear();
+ }
+ private static void testComposeWithRuntimeException2()
+ {
+ MyRunner2 runner1 = new MyRunner2();
+ MyRunner1 runner2 = new MyRunner1();
+ Collection<TestRunner> runners = new ArrayList<TestRunner>();
+ runners.add(runner1);
+ runners.add(runner2);
CompositeTestRunner runner = new CompositeTestRunner(runners);
+ runner.addListener(listener);
+ try
+ {
+ runner.run();
+ fail();
+ }
+ catch (RuntimeException e)
+ {
+ assertSame(runner1.exception, e);
+ }
+ assertEquals(1, events.size());
+ assertFalse(runner2.invoked);
+ events.clear();
+ }
- runner.run();
+ private static void testComposeWithRuntimeError1()
+ {
+ MyRunner1 runner1 = new MyRunner1();
+ MyRunner3 runner2 = new MyRunner3();
+ Collection<TestRunner> runners = new ArrayList<TestRunner>();
+ runners.add(runner1);
+ runners.add(runner2);
+ CompositeTestRunner runner = new CompositeTestRunner(runners);
+ runner.addListener(listener);
+ try
+ {
+ runner.run();
+ fail();
+ }
+ catch (Error e)
+ {
+ assertSame(runner2.error, e);
+ }
+ assertEquals(2, events.size());
+ assertTrue(runner1.invoked);
+ assertEquals(list(runner1.event), events.subList(1, 2));
+ events.clear();
+ }
-
-
+ private static void testComposeWithRuntimeError2()
+ {
+ MyRunner3 runner1 = new MyRunner3();
+ MyRunner1 runner2 = new MyRunner1();
+ Collection<TestRunner> runners = new ArrayList<TestRunner>();
+ runners.add(runner1);
+ runners.add(runner2);
+ CompositeTestRunner runner = new CompositeTestRunner(runners);
+ runner.addListener(listener);
+ try
+ {
+ runner.run();
+ fail();
+ }
+ catch (Error e)
+ {
+ assertSame(runner1.error, e);
+ }
+ assertEquals(1, events.size());
+ assertFalse(runner2.invoked);
+ events.clear();
}
private static class MyRunner1 extends AbstractTestRunner
@@ -101,5 +215,4 @@
private static class MyEvent extends TestRunnerEvent
{
}
-
}
Show replies by date