carbidecpp20devenv/plugins/org.eclipse.test.source_3.3.0.v20080507/src/org.junit4_4.3.1/junitsrc/org/junit/runner/Runner.java
changeset 1 82d1d1de1a01
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp20devenv/plugins/org.eclipse.test.source_3.3.0.v20080507/src/org.junit4_4.3.1/junitsrc/org/junit/runner/Runner.java	Wed Mar 18 17:21:00 2009 -0500
@@ -0,0 +1,40 @@
+package org.junit.runner;
+
+import org.junit.runner.notification.RunNotifier;
+
+/**
+ * A <code>Runner</code> runs tests and notifies a {@link org.junit.runner.notification.RunNotifier}
+ * of significant events as it does so. You will need to subclass <code>Runner</code>
+ * when using {@link org.junit.runner.RunWith} to invoke a custom runner. When creating
+ * a custom runner, in addition to implementing the abstract methods here you must
+ * also provide a constructor that takes as an argument the {@link Class} containing
+ * the tests.
+ * <p/>
+ * The default runner implementation guarantees that the instances of the test case
+ * class will be constructed immediately before running the test and that the runner
+ * will retain no reference to the test case instances, generally making them 
+ * available for garbage collection.
+ * 
+ * @see org.junit.runner.Description
+ * @see org.junit.runner.RunWith
+ */
+public abstract class Runner {
+	/**
+	 * @return a {@link Description} showing the tests to be run by the receiver
+	 */
+	public abstract Description getDescription();
+
+	/**
+	 * Run the tests for this runner.
+	 * @param notifier will be notified of events while tests are being run--tests being 
+	 * started, finishing, and failing
+	 */
+	public abstract void run(RunNotifier notifier);
+	
+	/**
+	 * @return the number of tests to be run by the receiver
+	 */
+	public int testCount() {
+		return getDescription().testCount();
+	}
+}
\ No newline at end of file