carbidecpp20devenv/plugins/org.eclipse.test.source_3.3.0.v20080507/src/org.junit4_4.3.1/junitsrc/junit/framework/JUnit4TestAdapter.java
author Deepak Modgil <Deepak.Modgil@Nokia.com>
Fri, 03 Apr 2009 17:08:57 +0100
changeset 0 20e4ed35fd3f
permissions -rw-r--r--
DP tools release version Revision: 200912

package junit.framework;

import java.util.List;

import org.junit.runner.Description;
import org.junit.runner.Request;
import org.junit.runner.Runner;

public class JUnit4TestAdapter implements Test {
	private final Class<?> fNewTestClass;

	private Runner fRunner;

	private JUnit4TestAdapterCache fCache;

	public JUnit4TestAdapter(Class<?> newTestClass) {
		this(newTestClass, JUnit4TestAdapterCache.getDefault());
	}

	public JUnit4TestAdapter(final Class<?> newTestClass,
			JUnit4TestAdapterCache cache) {
		fCache = cache;
		fNewTestClass = newTestClass;
		fRunner = Request.classWithoutSuiteMethod(newTestClass).getRunner();
	}

	public int countTestCases() {
		return fRunner.testCount();
	}

	public void run(TestResult result) {
		fRunner.run(fCache.getNotifier(result, this));
	}

	// reflective interface for Eclipse
	public List<Test> getTests() {
		return fCache.asTestList(getDescription());
	}

	// reflective interface for Eclipse
	public Class<?> getTestClass() {
		return fNewTestClass;
	}
	
	public Description getDescription() {
		return fRunner.getDescription();
	}

	@Override
	public String toString() {
		return fNewTestClass.getName();
	}
}