diff options
author | Brett Chabot <brettchabot@android.com> | 2012-04-13 16:40:22 -0700 |
---|---|---|
committer | Brett Chabot <brettchabot@android.com> | 2012-04-16 17:26:35 -0700 |
commit | 17cdf1ac454247016f338d84be763789e6416100 (patch) | |
tree | b0f6dc0400bf15a13773c4f66021d8757b5acebd | |
parent | 99e724588b34e2c60a24b4295b88374afada0ba8 (diff) | |
download | libcore-17cdf1ac454247016f338d84be763789e6416100.zip libcore-17cdf1ac454247016f338d84be763789e6416100.tar.gz libcore-17cdf1ac454247016f338d84be763789e6416100.tar.bz2 |
Remove junit source from libcore.
Will be replaced with library built from external/junit.
Bug 5826326
Change-Id: I78518a04b57bade113b1797a808ec1a39bd82ad7
21 files changed, 0 insertions, 1523 deletions
@@ -21,7 +21,6 @@ define libcore_to_document dalvik/src/main/java/dalvik/annotation \ dalvik/src/main/java/dalvik/bytecode \ json/src/main/java \ - junit/src/main/java \ luni/src/main/java/java \ luni/src/main/java/javax \ luni/src/main/java/org/xml/sax \ diff --git a/JavaLibrary.mk b/JavaLibrary.mk index 7179fda..18fa870 100644 --- a/JavaLibrary.mk +++ b/JavaLibrary.mk @@ -88,16 +88,6 @@ include $(BUILD_JAVA_LIBRARY) core-intermediates := ${intermediates} -# Make core-junit -include $(CLEAR_VARS) -LOCAL_SRC_FILES := $(call all-main-java-files-under,junit) -LOCAL_NO_STANDARD_LIBRARIES := true -LOCAL_JAVA_LIBRARIES := core -LOCAL_JAVACFLAGS := $(local_javac_flags) -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE := core-junit -include $(BUILD_JAVA_LIBRARY) - # Make the core-tests library. include $(CLEAR_VARS) LOCAL_SRC_FILES := $(call all-test-java-files-under,dalvik dom json luni support xml) @@ -153,17 +143,6 @@ ifeq ($(WITH_HOST_DALVIK),true) include $(BUILD_HOST_JAVA_LIBRARY) - # Make core-junit - include $(CLEAR_VARS) - LOCAL_SRC_FILES := $(call all-main-java-files-under,junit) - LOCAL_NO_STANDARD_LIBRARIES := true - LOCAL_JAVA_LIBRARIES := core-hostdex - LOCAL_JAVACFLAGS := $(local_javac_flags) - LOCAL_MODULE_TAGS := optional - LOCAL_MODULE := core-junit-hostdex - LOCAL_BUILD_HOST_DEX := true - include $(BUILD_HOST_JAVA_LIBRARY) - # Make the core-tests library. include $(CLEAR_VARS) LOCAL_SRC_FILES := $(call all-test-java-files-under,dalvik dom json luni support xml) diff --git a/junit/MODULE_LICENSE_CPL b/junit/MODULE_LICENSE_CPL deleted file mode 100644 index 541dbb5..0000000 --- a/junit/MODULE_LICENSE_CPL +++ /dev/null @@ -1 +0,0 @@ -http://www.opensource.org/licenses/cpl1.0.php diff --git a/junit/src/main/java/junit/extensions/ActiveTestSuite.java b/junit/src/main/java/junit/extensions/ActiveTestSuite.java deleted file mode 100644 index bf50744..0000000 --- a/junit/src/main/java/junit/extensions/ActiveTestSuite.java +++ /dev/null @@ -1,70 +0,0 @@ -package junit.extensions; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestResult; -import junit.framework.TestSuite; - -/** - * A TestSuite for active Tests. It runs each - * test in a separate thread and waits until all - * threads have terminated. - * -- Aarhus Radisson Scandinavian Center 11th floor - */ -public class ActiveTestSuite extends TestSuite { - private volatile int fActiveTestDeathCount; - - public ActiveTestSuite() { - } - - public ActiveTestSuite(Class<? extends TestCase> theClass) { - super(theClass); - } - - public ActiveTestSuite(String name) { - super (name); - } - - public ActiveTestSuite(Class<? extends TestCase> theClass, String name) { - super(theClass, name); - } - - @Override - public void run(TestResult result) { - fActiveTestDeathCount= 0; - super.run(result); - waitUntilFinished(); - } - - @Override - public void runTest(final Test test, final TestResult result) { - Thread t= new Thread() { - @Override - public void run() { - try { - // inlined due to limitation in VA/Java - //ActiveTestSuite.super.runTest(test, result); - test.run(result); - } finally { - ActiveTestSuite.this.runFinished(); - } - } - }; - t.start(); - } - - synchronized void waitUntilFinished() { - while (fActiveTestDeathCount < testCount()) { - try { - wait(); - } catch (InterruptedException e) { - return; // ignore - } - } - } - - synchronized public void runFinished() { - fActiveTestDeathCount++; - notifyAll(); - } -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/extensions/ExceptionTestCase.java b/junit/src/main/java/junit/extensions/ExceptionTestCase.java deleted file mode 100644 index de64b5b..0000000 --- a/junit/src/main/java/junit/extensions/ExceptionTestCase.java +++ /dev/null @@ -1,46 +0,0 @@ -package junit.extensions; - -import junit.framework.*; - -/** - * A TestCase that expects an Exception of class fExpected to be thrown. - * The other way to check that an expected exception is thrown is: - * <pre> - * try { - * shouldThrow(); - * } - * catch (SpecialException e) { - * return; - * } - * fail("Expected SpecialException"); - * </pre> - * - * To use ExceptionTestCase, create a TestCase like: - * <pre> - * new ExceptionTestCase("testShouldThrow", SpecialException.class); - * </pre> - */ -public class ExceptionTestCase extends TestCase { - Class fExpected; - - public ExceptionTestCase(String name, Class exception) { - super(name); - fExpected= exception; - } - /** - * Execute the test method expecting that an Exception of - * class fExpected or one of its subclasses will be thrown - */ - protected void runTest() throws Throwable { - try { - super.runTest(); - } - catch (Exception e) { - if (fExpected.isAssignableFrom(e.getClass())) - return; - else - throw e; - } - fail("Expected exception " + fExpected); - } -} diff --git a/junit/src/main/java/junit/extensions/RepeatedTest.java b/junit/src/main/java/junit/extensions/RepeatedTest.java deleted file mode 100644 index 74a7832..0000000 --- a/junit/src/main/java/junit/extensions/RepeatedTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package junit.extensions; - -import junit.framework.Test; -import junit.framework.TestResult; - -/** - * A Decorator that runs a test repeatedly. - * - */ -public class RepeatedTest extends TestDecorator { - private int fTimesRepeat; - - public RepeatedTest(Test test, int repeat) { - super(test); - if (repeat < 0) - throw new IllegalArgumentException("Repetition count must be >= 0"); - fTimesRepeat= repeat; - } - - @Override - public int countTestCases() { - return super.countTestCases() * fTimesRepeat; - } - - @Override - public void run(TestResult result) { - for (int i= 0; i < fTimesRepeat; i++) { - if (result.shouldStop()) - break; - super.run(result); - } - } - - @Override - public String toString() { - return super.toString() + "(repeated)"; - } -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/extensions/TestDecorator.java b/junit/src/main/java/junit/extensions/TestDecorator.java deleted file mode 100644 index 52b9626..0000000 --- a/junit/src/main/java/junit/extensions/TestDecorator.java +++ /dev/null @@ -1,43 +0,0 @@ -package junit.extensions; - -import junit.framework.Assert; -import junit.framework.Test; -import junit.framework.TestResult; - -/** - * A Decorator for Tests. Use TestDecorator as the base class for defining new - * test decorators. Test decorator subclasses can be introduced to add behaviour - * before or after a test is run. - * - */ -public class TestDecorator extends Assert implements Test { - protected Test fTest; - - public TestDecorator(Test test) { - fTest= test; - } - - /** - * The basic run behaviour. - */ - public void basicRun(TestResult result) { - fTest.run(result); - } - - public int countTestCases() { - return fTest.countTestCases(); - } - - public void run(TestResult result) { - basicRun(result); - } - - @Override - public String toString() { - return fTest.toString(); - } - - public Test getTest() { - return fTest; - } -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/extensions/TestSetup.java b/junit/src/main/java/junit/extensions/TestSetup.java deleted file mode 100644 index 641c497..0000000 --- a/junit/src/main/java/junit/extensions/TestSetup.java +++ /dev/null @@ -1,42 +0,0 @@ -package junit.extensions; - -import junit.framework.Protectable; -import junit.framework.Test; -import junit.framework.TestResult; - -/** - * A Decorator to set up and tear down additional fixture state. Subclass - * TestSetup and insert it into your tests when you want to set up additional - * state once before the tests are run. - */ -public class TestSetup extends TestDecorator { - - public TestSetup(Test test) { - super(test); - } - - @Override - public void run(final TestResult result) { - Protectable p= new Protectable() { - public void protect() throws Exception { - setUp(); - basicRun(result); - tearDown(); - } - }; - result.runProtected(this, p); - } - - /** - * Sets up the fixture. Override to set up additional fixture state. - */ - protected void setUp() throws Exception { - } - - /** - * Tears down the fixture. Override to tear down the additional fixture - * state. - */ - protected void tearDown() throws Exception { - } -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/extensions/package.html b/junit/src/main/java/junit/extensions/package.html deleted file mode 100644 index 6b4be72..0000000 --- a/junit/src/main/java/junit/extensions/package.html +++ /dev/null @@ -1,6 +0,0 @@ -<HTML> -<BODY> -Utility classes supporting the junit test framework. -{@hide} - Not needed for 1.0 SDK -</BODY> -</HTML> diff --git a/junit/src/main/java/junit/framework/Assert.java b/junit/src/main/java/junit/framework/Assert.java deleted file mode 100644 index b9f7f42..0000000 --- a/junit/src/main/java/junit/framework/Assert.java +++ /dev/null @@ -1,296 +0,0 @@ -package junit.framework; - -/** - * A set of assert methods. Messages are only displayed when an assert fails. - */ - -public class Assert { - /** - * Protect constructor since it is a static only class - */ - protected Assert() { - } - - /** - * Asserts that a condition is true. If it isn't it throws - * an AssertionFailedError with the given message. - */ - static public void assertTrue(String message, boolean condition) { - if (!condition) - fail(message); - } - /** - * Asserts that a condition is true. If it isn't it throws - * an AssertionFailedError. - */ - static public void assertTrue(boolean condition) { - assertTrue(null, condition); - } - /** - * Asserts that a condition is false. If it isn't it throws - * an AssertionFailedError with the given message. - */ - static public void assertFalse(String message, boolean condition) { - assertTrue(message, !condition); - } - /** - * Asserts that a condition is false. If it isn't it throws - * an AssertionFailedError. - */ - static public void assertFalse(boolean condition) { - assertFalse(null, condition); - } - /** - * Fails a test with the given message. - */ - static public void fail(String message) { - if (message == null) { - throw new AssertionFailedError(); - } - throw new AssertionFailedError(message); - } - /** - * Fails a test with no message. - */ - static public void fail() { - fail(null); - } - /** - * Asserts that two objects are equal. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertEquals(String message, Object expected, Object actual) { - if (expected == null && actual == null) - return; - if (expected != null && expected.equals(actual)) - return; - failNotEquals(message, expected, actual); - } - /** - * Asserts that two objects are equal. If they are not - * an AssertionFailedError is thrown. - */ - static public void assertEquals(Object expected, Object actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that two Strings are equal. - */ - static public void assertEquals(String message, String expected, String actual) { - if (expected == null && actual == null) - return; - if (expected != null && expected.equals(actual)) - return; - String cleanMessage= message == null ? "" : message; - throw new ComparisonFailure(cleanMessage, expected, actual); - } - /** - * Asserts that two Strings are equal. - */ - static public void assertEquals(String expected, String actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that two doubles are equal concerning a delta. If they are not - * an AssertionFailedError is thrown with the given message. If the expected - * value is infinity then the delta value is ignored. - */ - static public void assertEquals(String message, double expected, double actual, double delta) { - if (Double.compare(expected, actual) == 0) - return; - if (!(Math.abs(expected-actual) <= delta)) - failNotEquals(message, new Double(expected), new Double(actual)); - } - /** - * Asserts that two doubles are equal concerning a delta. If the expected - * value is infinity then the delta value is ignored. - */ - static public void assertEquals(double expected, double actual, double delta) { - assertEquals(null, expected, actual, delta); - } - /** - * Asserts that two floats are equal concerning a positive delta. If they - * are not an AssertionFailedError is thrown with the given message. If the - * expected value is infinity then the delta value is ignored. - */ - static public void assertEquals(String message, float expected, float actual, float delta) { - if (Float.compare(expected, actual) == 0) - return; - if (!(Math.abs(expected - actual) <= delta)) - failNotEquals(message, new Float(expected), new Float(actual)); - } - /** - * Asserts that two floats are equal concerning a delta. If the expected - * value is infinity then the delta value is ignored. - */ - static public void assertEquals(float expected, float actual, float delta) { - assertEquals(null, expected, actual, delta); - } - /** - * Asserts that two longs are equal. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertEquals(String message, long expected, long actual) { - assertEquals(message, new Long(expected), new Long(actual)); - } - /** - * Asserts that two longs are equal. - */ - static public void assertEquals(long expected, long actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that two booleans are equal. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertEquals(String message, boolean expected, boolean actual) { - assertEquals(message, Boolean.valueOf(expected), Boolean.valueOf(actual)); - } - /** - * Asserts that two booleans are equal. - */ - static public void assertEquals(boolean expected, boolean actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that two bytes are equal. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertEquals(String message, byte expected, byte actual) { - assertEquals(message, new Byte(expected), new Byte(actual)); - } - /** - * Asserts that two bytes are equal. - */ - static public void assertEquals(byte expected, byte actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that two chars are equal. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertEquals(String message, char expected, char actual) { - assertEquals(message, new Character(expected), new Character(actual)); - } - /** - * Asserts that two chars are equal. - */ - static public void assertEquals(char expected, char actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that two shorts are equal. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertEquals(String message, short expected, short actual) { - assertEquals(message, new Short(expected), new Short(actual)); - } - /** - * Asserts that two shorts are equal. - */ - static public void assertEquals(short expected, short actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that two ints are equal. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertEquals(String message, int expected, int actual) { - assertEquals(message, new Integer(expected), new Integer(actual)); - } - /** - * Asserts that two ints are equal. - */ - static public void assertEquals(int expected, int actual) { - assertEquals(null, expected, actual); - } - /** - * Asserts that an object isn't null. - */ - static public void assertNotNull(Object object) { - assertNotNull(null, object); - } - /** - * Asserts that an object isn't null. If it is - * an AssertionFailedError is thrown with the given message. - */ - static public void assertNotNull(String message, Object object) { - assertTrue(message, object != null); - } - /** - * Asserts that an object is null. If it isn't an {@link AssertionError} is - * thrown. - * Message contains: Expected: <null> but was: object - * - * @param object - * Object to check or <code>null</code> - */ - static public void assertNull(Object object) { - String message = "Expected: <null> but was: " + String.valueOf(object); - assertNull(message, object); - } - /** - * Asserts that an object is null. If it is not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertNull(String message, Object object) { - assertTrue(message, object == null); - } - /** - * Asserts that two objects refer to the same object. If they are not - * an AssertionFailedError is thrown with the given message. - */ - static public void assertSame(String message, Object expected, Object actual) { - if (expected == actual) - return; - failNotSame(message, expected, actual); - } - /** - * Asserts that two objects refer to the same object. If they are not - * the same an AssertionFailedError is thrown. - */ - static public void assertSame(Object expected, Object actual) { - assertSame(null, expected, actual); - } - /** - * Asserts that two objects do not refer to the same object. If they do - * refer to the same object an AssertionFailedError is thrown with the - * given message. - */ - static public void assertNotSame(String message, Object expected, Object actual) { - if (expected == actual) - failSame(message); - } - /** - * Asserts that two objects do not refer to the same object. If they do - * refer to the same object an AssertionFailedError is thrown. - */ - static public void assertNotSame(Object expected, Object actual) { - assertNotSame(null, expected, actual); - } - - static public void failSame(String message) { - String formatted= ""; - if (message != null) - formatted= message+" "; - fail(formatted+"expected not same"); - } - - static public void failNotSame(String message, Object expected, Object actual) { - String formatted= ""; - if (message != null) - formatted= message+" "; - fail(formatted+"expected same:<"+expected+"> was not:<"+actual+">"); - } - - static public void failNotEquals(String message, Object expected, Object actual) { - fail(format(message, expected, actual)); - } - - public static String format(String message, Object expected, Object actual) { - String formatted= ""; - if (message != null && message.length() > 0) - formatted= message+" "; - return formatted+"expected:<"+expected+"> but was:<"+actual+">"; - } -} diff --git a/junit/src/main/java/junit/framework/AssertionFailedError.java b/junit/src/main/java/junit/framework/AssertionFailedError.java deleted file mode 100644 index 9cae916..0000000 --- a/junit/src/main/java/junit/framework/AssertionFailedError.java +++ /dev/null @@ -1,20 +0,0 @@ -package junit.framework; - -/** - * Thrown when an assertion failed. - */ -public class AssertionFailedError extends AssertionError { - - private static final long serialVersionUID= 1L; - - public AssertionFailedError() { - } - - public AssertionFailedError(String message) { - super(defaultString(message)); - } - - private static String defaultString(String message) { - return message == null ? "" : message; - } -} diff --git a/junit/src/main/java/junit/framework/ComparisonCompactor.java b/junit/src/main/java/junit/framework/ComparisonCompactor.java deleted file mode 100644 index 3ca497a..0000000 --- a/junit/src/main/java/junit/framework/ComparisonCompactor.java +++ /dev/null @@ -1,76 +0,0 @@ -package junit.framework; - -// android-changed add @hide -/** - * @hide not needed for public API - */ -public class ComparisonCompactor { - - private static final String ELLIPSIS= "..."; - private static final String DELTA_END= "]"; - private static final String DELTA_START= "["; - - private int fContextLength; - private String fExpected; - private String fActual; - private int fPrefix; - private int fSuffix; - - public ComparisonCompactor(int contextLength, String expected, String actual) { - fContextLength= contextLength; - fExpected= expected; - fActual= actual; - } - - public String compact(String message) { - if (fExpected == null || fActual == null || areStringsEqual()) - return Assert.format(message, fExpected, fActual); - - findCommonPrefix(); - findCommonSuffix(); - String expected= compactString(fExpected); - String actual= compactString(fActual); - return Assert.format(message, expected, actual); - } - - private String compactString(String source) { - String result= DELTA_START + source.substring(fPrefix, source.length() - fSuffix + 1) + DELTA_END; - if (fPrefix > 0) - result= computeCommonPrefix() + result; - if (fSuffix > 0) - result= result + computeCommonSuffix(); - return result; - } - - private void findCommonPrefix() { - fPrefix= 0; - int end= Math.min(fExpected.length(), fActual.length()); - for (; fPrefix < end; fPrefix++) { - if (fExpected.charAt(fPrefix) != fActual.charAt(fPrefix)) - break; - } - } - - private void findCommonSuffix() { - int expectedSuffix= fExpected.length() - 1; - int actualSuffix= fActual.length() - 1; - for (; actualSuffix >= fPrefix && expectedSuffix >= fPrefix; actualSuffix--, expectedSuffix--) { - if (fExpected.charAt(expectedSuffix) != fActual.charAt(actualSuffix)) - break; - } - fSuffix= fExpected.length() - expectedSuffix; - } - - private String computeCommonPrefix() { - return (fPrefix > fContextLength ? ELLIPSIS : "") + fExpected.substring(Math.max(0, fPrefix - fContextLength), fPrefix); - } - - private String computeCommonSuffix() { - int end= Math.min(fExpected.length() - fSuffix + 1 + fContextLength, fExpected.length()); - return fExpected.substring(fExpected.length() - fSuffix + 1, end) + (fExpected.length() - fSuffix + 1 < fExpected.length() - fContextLength ? ELLIPSIS : ""); - } - - private boolean areStringsEqual() { - return fExpected.equals(fActual); - } -} diff --git a/junit/src/main/java/junit/framework/ComparisonFailure.java b/junit/src/main/java/junit/framework/ComparisonFailure.java deleted file mode 100644 index 2fd7069..0000000 --- a/junit/src/main/java/junit/framework/ComparisonFailure.java +++ /dev/null @@ -1,52 +0,0 @@ -package junit.framework; - -/** - * Thrown when an assert equals for Strings failed. - * - * Inspired by a patch from Alex Chaffee mailto:alex@purpletech.com - */ -public class ComparisonFailure extends AssertionFailedError { - private static final int MAX_CONTEXT_LENGTH= 20; - private static final long serialVersionUID= 1L; - - private String fExpected; - private String fActual; - - /** - * Constructs a comparison failure. - * @param message the identifying message or null - * @param expected the expected string value - * @param actual the actual string value - */ - public ComparisonFailure (String message, String expected, String actual) { - super (message); - fExpected= expected; - fActual= actual; - } - - /** - * Returns "..." in place of common prefix and "..." in - * place of common suffix between expected and actual. - * - * @see Throwable#getMessage() - */ - @Override - public String getMessage() { - return new ComparisonCompactor(MAX_CONTEXT_LENGTH, fExpected, fActual).compact(super.getMessage()); - } - - /** - * Gets the actual string value - * @return the actual string value - */ - public String getActual() { - return fActual; - } - /** - * Gets the expected string value - * @return the expected string value - */ - public String getExpected() { - return fExpected; - } -} diff --git a/junit/src/main/java/junit/framework/Protectable.java b/junit/src/main/java/junit/framework/Protectable.java deleted file mode 100644 index 9f30b10..0000000 --- a/junit/src/main/java/junit/framework/Protectable.java +++ /dev/null @@ -1,14 +0,0 @@ -package junit.framework; - -/** - * A <em>Protectable</em> can be run and can throw a Throwable. - * - * @see TestResult - */ -public interface Protectable { - - /** - * Run the the following method protected. - */ - public abstract void protect() throws Throwable; -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/framework/Test.java b/junit/src/main/java/junit/framework/Test.java deleted file mode 100644 index 6e04b31..0000000 --- a/junit/src/main/java/junit/framework/Test.java +++ /dev/null @@ -1,17 +0,0 @@ -package junit.framework; - -/** - * A <em>Test</em> can be run and collect its results. - * - * @see TestResult - */ -public interface Test { - /** - * Counts the number of test cases that will be run by this test. - */ - public abstract int countTestCases(); - /** - * Runs a test and collects its result in a TestResult instance. - */ - public abstract void run(TestResult result); -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/framework/TestCase.java b/junit/src/main/java/junit/framework/TestCase.java deleted file mode 100644 index 05a02ac..0000000 --- a/junit/src/main/java/junit/framework/TestCase.java +++ /dev/null @@ -1,212 +0,0 @@ -package junit.framework; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; - -/** - * A test case defines the fixture to run multiple tests. To define a test case<br/> - * <ol> - * <li>implement a subclass of <code>TestCase</code></li> - * <li>define instance variables that store the state of the fixture</li> - * <li>initialize the fixture state by overriding {@link #setUp()}</li> - * <li>clean-up after a test by overriding {@link #tearDown()}.</li> - * </ol> - * Each test runs in its own fixture so there - * can be no side effects among test runs. - * Here is an example: - * <pre> - * public class MathTest extends TestCase { - * protected double fValue1; - * protected double fValue2; - * - * protected void setUp() { - * fValue1= 2.0; - * fValue2= 3.0; - * } - * } - * </pre> - * - * For each test implement a method which interacts - * with the fixture. Verify the expected results with assertions specified - * by calling {@link junit.framework.Assert#assertTrue(String, boolean)} with a boolean. - * <pre> - * public void testAdd() { - * double result= fValue1 + fValue2; - * assertTrue(result == 5.0); - * } - * </pre> - * - * Once the methods are defined you can run them. The framework supports - * both a static type safe and more dynamic way to run a test. - * In the static way you override the runTest method and define the method to - * be invoked. A convenient way to do so is with an anonymous inner class. - * <pre> - * TestCase test= new MathTest("add") { - * public void runTest() { - * testAdd(); - * } - * }; - * test.run(); - * </pre> - * - * The dynamic way uses reflection to implement {@link #runTest()}. It dynamically finds - * and invokes a method. - * In this case the name of the test case has to correspond to the test method - * to be run. - * <pre> - * TestCase test= new MathTest("testAdd"); - * test.run(); - * </pre> - * - * The tests to be run can be collected into a TestSuite. JUnit provides - * different <i>test runners</i> which can run a test suite and collect the results. - * A test runner either expects a static method <code>suite</code> as the entry - * point to get a test to run or it will extract the suite automatically. - * <pre> - * public static Test suite() { - * suite.addTest(new MathTest("testAdd")); - * suite.addTest(new MathTest("testDivideByZero")); - * return suite; - * } - * </pre> - * @see TestResult - * @see TestSuite - */ -public abstract class TestCase extends Assert implements Test { - /** - * the name of the test case - */ - private String fName; - - /** - * No-arg constructor to enable serialization. This method - * is not intended to be used by mere mortals without calling setName(). - */ - public TestCase() { - fName= null; - } - /** - * Constructs a test case with the given name. - */ - public TestCase(String name) { - fName= name; - } - /** - * Counts the number of test cases executed by run(TestResult result). - */ - public int countTestCases() { - return 1; - } - /** - * Creates a default TestResult object - * - * @see TestResult - */ - protected TestResult createResult() { - return new TestResult(); - } - /** - * A convenience method to run this test, collecting the results with a - * default TestResult object. - * - * @see TestResult - */ - public TestResult run() { - TestResult result= createResult(); - run(result); - return result; - } - /** - * Runs the test case and collects the results in TestResult. - */ - public void run(TestResult result) { - result.run(this); - } - /** - * Runs the bare test sequence. - * @throws Throwable if any exception is thrown - */ - public void runBare() throws Throwable { - Throwable exception= null; - setUp(); - try { - runTest(); - } catch (Throwable running) { - exception= running; - } - finally { - try { - tearDown(); - } catch (Throwable tearingDown) { - if (exception == null) exception= tearingDown; - } - } - if (exception != null) throw exception; - } - /** - * Override to run the test and assert its state. - * @throws Throwable if any exception is thrown - */ - protected void runTest() throws Throwable { - assertNotNull("TestCase.fName cannot be null", fName); // Some VMs crash when calling getMethod(null,null); - Method runMethod= null; - try { - // use getMethod to get all public inherited - // methods. getDeclaredMethods returns all - // methods of this class but excludes the - // inherited ones. - runMethod= getClass().getMethod(fName, (Class[])null); - } catch (NoSuchMethodException e) { - fail("Method \""+fName+"\" not found"); - } - if (!Modifier.isPublic(runMethod.getModifiers())) { - fail("Method \""+fName+"\" should be public"); - } - - try { - runMethod.invoke(this); - } - catch (InvocationTargetException e) { - e.fillInStackTrace(); - throw e.getTargetException(); - } - catch (IllegalAccessException e) { - e.fillInStackTrace(); - throw e; - } - } - /** - * Sets up the fixture, for example, open a network connection. - * This method is called before a test is executed. - */ - protected void setUp() throws Exception { - } - /** - * Tears down the fixture, for example, close a network connection. - * This method is called after a test is executed. - */ - protected void tearDown() throws Exception { - } - /** - * Returns a string representation of the test case - */ - @Override - public String toString() { - return getName() + "(" + getClass().getName() + ")"; - } - /** - * Gets the name of a TestCase - * @return the name of the TestCase - */ - public String getName() { - return fName; - } - /** - * Sets the name of a TestCase - * @param name the name to set - */ - public void setName(String name) { - fName= name; - } -} diff --git a/junit/src/main/java/junit/framework/TestFailure.java b/junit/src/main/java/junit/framework/TestFailure.java deleted file mode 100644 index b19b196..0000000 --- a/junit/src/main/java/junit/framework/TestFailure.java +++ /dev/null @@ -1,58 +0,0 @@ -package junit.framework; - -import java.io.PrintWriter; -import java.io.StringWriter; - - -/** - * A <code>TestFailure</code> collects a failed test together with - * the caught exception. - * @see TestResult - */ -public class TestFailure extends Object { - protected Test fFailedTest; - protected Throwable fThrownException; - - - /** - * Constructs a TestFailure with the given test and exception. - */ - public TestFailure(Test failedTest, Throwable thrownException) { - fFailedTest= failedTest; - fThrownException= thrownException; - } - /** - * Gets the failed test. - */ - public Test failedTest() { - return fFailedTest; - } - /** - * Gets the thrown exception. - */ - public Throwable thrownException() { - return fThrownException; - } - /** - * Returns a short description of the failure. - */ - @Override - public String toString() { - StringBuffer buffer= new StringBuffer(); - buffer.append(fFailedTest+": "+fThrownException.getMessage()); - return buffer.toString(); - } - public String trace() { - StringWriter stringWriter= new StringWriter(); - PrintWriter writer= new PrintWriter(stringWriter); - thrownException().printStackTrace(writer); - StringBuffer buffer= stringWriter.getBuffer(); - return buffer.toString(); - } - public String exceptionMessage() { - return thrownException().getMessage(); - } - public boolean isFailure() { - return thrownException() instanceof AssertionFailedError; - } -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/framework/TestListener.java b/junit/src/main/java/junit/framework/TestListener.java deleted file mode 100644 index 9d8101f..0000000 --- a/junit/src/main/java/junit/framework/TestListener.java +++ /dev/null @@ -1,23 +0,0 @@ -package junit.framework; - -/** - * A Listener for test progress - */ -public interface TestListener { - /** - * An error occurred. - */ - public void addError(Test test, Throwable t); - /** - * A failure occurred. - */ - public void addFailure(Test test, AssertionFailedError t); - /** - * A test ended. - */ - public void endTest(Test test); - /** - * A test started. - */ - public void startTest(Test test); -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/framework/TestResult.java b/junit/src/main/java/junit/framework/TestResult.java deleted file mode 100644 index 4f7e6b3..0000000 --- a/junit/src/main/java/junit/framework/TestResult.java +++ /dev/null @@ -1,175 +0,0 @@ -package junit.framework; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; -import java.util.Vector; - -/** - * A <code>TestResult</code> collects the results of executing - * a test case. It is an instance of the Collecting Parameter pattern. - * The test framework distinguishes between <i>failures</i> and <i>errors</i>. - * A failure is anticipated and checked for with assertions. Errors are - * unanticipated problems like an {@link ArrayIndexOutOfBoundsException}. - * - * @see Test - */ -public class TestResult extends Object { - // BEGIN android-changed changed types from List<> to Vector<> for API compatibility - protected Vector<TestFailure> fFailures; - protected Vector<TestFailure> fErrors; - protected Vector<TestListener> fListeners; - // END android-changed - protected int fRunTests; - - private boolean fStop; - - public TestResult() { - // BEGIN android-changed to Vector - fFailures= new Vector<TestFailure>(); - fErrors= new Vector<TestFailure>(); - fListeners= new Vector<TestListener>(); - // END android-changed - fRunTests= 0; - fStop= false; - } - /** - * Adds an error to the list of errors. The passed in exception - * caused the error. - */ - public synchronized void addError(Test test, Throwable t) { - fErrors.add(new TestFailure(test, t)); - for (TestListener each : cloneListeners()) - each.addError(test, t); - } - /** - * Adds a failure to the list of failures. The passed in exception - * caused the failure. - */ - public synchronized void addFailure(Test test, AssertionFailedError t) { - fFailures.add(new TestFailure(test, t)); - for (TestListener each : cloneListeners()) - each.addFailure(test, t); - } - /** - * Registers a TestListener - */ - public synchronized void addListener(TestListener listener) { - fListeners.add(listener); - } - /** - * Unregisters a TestListener - */ - public synchronized void removeListener(TestListener listener) { - fListeners.remove(listener); - } - /** - * Returns a copy of the listeners. - */ - private synchronized List<TestListener> cloneListeners() { - List<TestListener> result= new ArrayList<TestListener>(); - result.addAll(fListeners); - return result; - } - /** - * Informs the result that a test was completed. - */ - public void endTest(Test test) { - for (TestListener each : cloneListeners()) - each.endTest(test); - } - /** - * Gets the number of detected errors. - */ - public synchronized int errorCount() { - return fErrors.size(); - } - /** - * Returns an Enumeration for the errors - */ - public synchronized Enumeration<TestFailure> errors() { - return Collections.enumeration(fErrors); - } - - - /** - * Gets the number of detected failures. - */ - public synchronized int failureCount() { - return fFailures.size(); - } - /** - * Returns an Enumeration for the failures - */ - public synchronized Enumeration<TestFailure> failures() { - return Collections.enumeration(fFailures); - } - - /** - * Runs a TestCase. - */ - protected void run(final TestCase test) { - startTest(test); - Protectable p= new Protectable() { - public void protect() throws Throwable { - test.runBare(); - } - }; - runProtected(test, p); - - endTest(test); - } - /** - * Gets the number of run tests. - */ - public synchronized int runCount() { - return fRunTests; - } - /** - * Runs a TestCase. - */ - public void runProtected(final Test test, Protectable p) { - try { - p.protect(); - } - catch (AssertionFailedError e) { - addFailure(test, e); - } - catch (ThreadDeath e) { // don't catch ThreadDeath by accident - throw e; - } - catch (Throwable e) { - addError(test, e); - } - } - /** - * Checks whether the test run should stop - */ - public synchronized boolean shouldStop() { - return fStop; - } - /** - * Informs the result that a test will be started. - */ - public void startTest(Test test) { - final int count= test.countTestCases(); - synchronized(this) { - fRunTests+= count; - } - for (TestListener each : cloneListeners()) - each.startTest(test); - } - /** - * Marks that the test run should stop. - */ - public synchronized void stop() { - fStop= true; - } - /** - * Returns whether the entire test was successful or not. - */ - public synchronized boolean wasSuccessful() { - return failureCount() == 0 && errorCount() == 0; - } -}
\ No newline at end of file diff --git a/junit/src/main/java/junit/framework/TestSuite.java b/junit/src/main/java/junit/framework/TestSuite.java deleted file mode 100644 index af11d02..0000000 --- a/junit/src/main/java/junit/framework/TestSuite.java +++ /dev/null @@ -1,307 +0,0 @@ -package junit.framework; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.Vector; - -/** - * <p>A <code>TestSuite</code> is a <code>Composite</code> of Tests. - * It runs a collection of test cases. Here is an example using - * the dynamic test definition. - * <pre> - * TestSuite suite= new TestSuite(); - * suite.addTest(new MathTest("testAdd")); - * suite.addTest(new MathTest("testDivideByZero")); - * </pre> - * </p> - * - * <p>Alternatively, a TestSuite can extract the tests to be run automatically. - * To do so you pass the class of your TestCase class to the - * TestSuite constructor. - * <pre> - * TestSuite suite= new TestSuite(MathTest.class); - * </pre> - * </p> - * - * <p>This constructor creates a suite with all the methods - * starting with "test" that take no arguments.</p> - * - * <p>A final option is to do the same for a large array of test classes. - * <pre> - * Class[] testClasses = { MathTest.class, AnotherTest.class } - * TestSuite suite= new TestSuite(testClasses); - * </pre> - * </p> - * - * @see Test - */ -public class TestSuite implements Test { - - /** - * ...as the moon sets over the early morning Merlin, Oregon - * mountains, our intrepid adventurers type... - */ - static public Test createTest(Class<?> theClass, String name) { - Constructor<?> constructor; - try { - constructor= getTestConstructor(theClass); - } catch (NoSuchMethodException e) { - return warning("Class "+theClass.getName()+" has no public constructor TestCase(String name) or TestCase()"); - } - Object test; - try { - if (constructor.getParameterTypes().length == 0) { - test= constructor.newInstance(new Object[0]); - if (test instanceof TestCase) - ((TestCase) test).setName(name); - } else { - test= constructor.newInstance(new Object[]{name}); - } - } catch (InstantiationException e) { - return(warning("Cannot instantiate test case: "+name+" ("+exceptionToString(e)+")")); - } catch (InvocationTargetException e) { - return(warning("Exception in constructor: "+name+" ("+exceptionToString(e.getTargetException())+")")); - } catch (IllegalAccessException e) { - return(warning("Cannot access test case: "+name+" ("+exceptionToString(e)+")")); - } - return (Test) test; - } - - /** - * Gets a constructor which takes a single String as - * its argument or a no arg constructor. - */ - public static Constructor<?> getTestConstructor(Class<?> theClass) throws NoSuchMethodException { - try { - return theClass.getConstructor(String.class); - } catch (NoSuchMethodException e) { - // fall through - } - return theClass.getConstructor(new Class[0]); - } - - /** - * Returns a test which will fail and log a warning message. - */ - public static Test warning(final String message) { - return new TestCase("warning") { - @Override - protected void runTest() { - fail(message); - } - }; - } - - /** - * Converts the stack trace into a string - */ - private static String exceptionToString(Throwable t) { - StringWriter stringWriter= new StringWriter(); - PrintWriter writer= new PrintWriter(stringWriter); - t.printStackTrace(writer); - return stringWriter.toString(); - } - - private String fName; - - private Vector<Test> fTests= new Vector<Test>(10); // Cannot convert this to List because it is used directly by some test runners - - /** - * Constructs an empty TestSuite. - */ - public TestSuite() { - } - - /** - * Constructs a TestSuite from the given class. Adds all the methods - * starting with "test" as test cases to the suite. - * Parts of this method were written at 2337 meters in the Hueffihuette, - * Kanton Uri - */ - public TestSuite(final Class<?> theClass) { - addTestsFromTestCase(theClass); - } - - private void addTestsFromTestCase(final Class<?> theClass) { - fName= theClass.getName(); - try { - getTestConstructor(theClass); // Avoid generating multiple error messages - } catch (NoSuchMethodException e) { - addTest(warning("Class "+theClass.getName()+" has no public constructor TestCase(String name) or TestCase()")); - return; - } - - if (!Modifier.isPublic(theClass.getModifiers())) { - addTest(warning("Class "+theClass.getName()+" is not public")); - return; - } - - Class<?> superClass= theClass; - List<String> names= new ArrayList<String>(); - while (Test.class.isAssignableFrom(superClass)) { - for (Method each : superClass.getDeclaredMethods()) - addTestMethod(each, names, theClass); - superClass= superClass.getSuperclass(); - } - if (fTests.size() == 0) - addTest(warning("No tests found in "+theClass.getName())); - } - - /** - * Constructs a TestSuite from the given class with the given name. - * @see TestSuite#TestSuite(Class) - */ - public TestSuite(Class<? extends TestCase> theClass, String name) { - this(theClass); - setName(name); - } - - /** - * Constructs an empty TestSuite. - */ - public TestSuite(String name) { - setName(name); - } - - /** - * Constructs a TestSuite from the given array of classes. - * @param classes {@link TestCase}s - */ - public TestSuite (Class<?>... classes) { - for (Class<?> each : classes) - addTest(testCaseForClass(each)); - } - - private Test testCaseForClass(Class<?> each) { - if (TestCase.class.isAssignableFrom(each)) - return new TestSuite(each.asSubclass(TestCase.class)); - else - return warning(each.getCanonicalName() + " does not extend TestCase"); - } - - /** - * Constructs a TestSuite from the given array of classes with the given name. - * @see TestSuite#TestSuite(Class[]) - */ - public TestSuite(Class<? extends TestCase>[] classes, String name) { - this(classes); - setName(name); - } - - /** - * Adds a test to the suite. - */ - public void addTest(Test test) { - fTests.add(test); - } - - /** - * Adds the tests from the given class to the suite - */ - public void addTestSuite(Class<? extends TestCase> testClass) { - addTest(new TestSuite(testClass)); - } - - /** - * Counts the number of test cases that will be run by this test. - */ - public int countTestCases() { - int count= 0; - for (Test each : fTests) - count+= each.countTestCases(); - return count; - } - - /** - * Returns the name of the suite. Not all - * test suites have a name and this method - * can return null. - */ - public String getName() { - return fName; - } - - /** - * Runs the tests and collects their result in a TestResult. - */ - public void run(TestResult result) { - for (Test each : fTests) { - if (result.shouldStop() ) - break; - runTest(each, result); - } - } - - public void runTest(Test test, TestResult result) { - test.run(result); - } - - /** - * Sets the name of the suite. - * @param name the name to set - */ - public void setName(String name) { - fName= name; - } - - /** - * Returns the test at the given index - */ - public Test testAt(int index) { - return fTests.get(index); - } - - /** - * Returns the number of tests in this suite - */ - public int testCount() { - return fTests.size(); - } - - /** - * Returns the tests as an enumeration - */ - public Enumeration<Test> tests() { - return fTests.elements(); - } - - /** - */ - @Override - public String toString() { - if (getName() != null) - return getName(); - return super.toString(); - } - - private void addTestMethod(Method m, List<String> names, Class<?> theClass) { - String name= m.getName(); - if (names.contains(name)) - return; - if (! isPublicTestMethod(m)) { - if (isTestMethod(m)) - addTest(warning("Test method isn't public: "+ m.getName() + "(" + theClass.getCanonicalName() + ")")); - return; - } - names.add(name); - addTest(createTest(theClass, name)); - } - - private boolean isPublicTestMethod(Method m) { - return isTestMethod(m) && Modifier.isPublic(m.getModifiers()); - } - - private boolean isTestMethod(Method m) { - return - m.getParameterTypes().length == 0 && - m.getName().startsWith("test") && - m.getReturnType().equals(Void.TYPE); - } -} diff --git a/junit/src/main/java/junit/framework/package.html b/junit/src/main/java/junit/framework/package.html deleted file mode 100644 index 770d470..0000000 --- a/junit/src/main/java/junit/framework/package.html +++ /dev/null @@ -1,5 +0,0 @@ -<HTML> -<BODY> -The junit test framework. -</BODY> -</HTML> |