diff options
author | Brett Chabot <brettchabot@android.com> | 2010-02-19 10:31:05 -0800 |
---|---|---|
committer | Brett Chabot <brettchabot@android.com> | 2010-02-19 10:31:05 -0800 |
commit | c1ca8c51c616d1517b18bf24feaa9f8f1430c835 (patch) | |
tree | d4b1e47a6cbcb24f8f278d93c69041d3bcf1d38b /test-runner/tests/src/android/test/AndroidTestRunnerTest.java | |
parent | 9db619e5d3420c53d94866a02b8f3ed298afe636 (diff) |
Revert "Move framework test-runner unit tests to be closer to their source."
This reverts commit 12093976a4842a795491cfd2b1d3b71e18503f2d.
Diffstat (limited to 'test-runner/tests/src/android/test/AndroidTestRunnerTest.java')
-rw-r--r-- | test-runner/tests/src/android/test/AndroidTestRunnerTest.java | 294 |
1 files changed, 0 insertions, 294 deletions
diff --git a/test-runner/tests/src/android/test/AndroidTestRunnerTest.java b/test-runner/tests/src/android/test/AndroidTestRunnerTest.java deleted file mode 100644 index 05747049dd21..000000000000 --- a/test-runner/tests/src/android/test/AndroidTestRunnerTest.java +++ /dev/null @@ -1,294 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.test; - -import android.test.mock.MockContext; -import android.test.suitebuilder.annotation.SmallTest; - -import com.google.android.collect.Lists; - -import junit.framework.TestCase; -import junit.framework.AssertionFailedError; -import junit.framework.Test; -import junit.framework.TestSuite; -import junit.framework.TestListener; - -import java.util.List; -import java.util.Arrays; - -/** - * Unit tests for {@link AndroidTestRunner} - */ -@SmallTest -public class AndroidTestRunnerTest extends TestCase { - private AndroidTestRunner mAndroidTestRunner; - private StubContext mStubContext; - - @Override - protected void setUp() throws Exception { - super.setUp(); - mStubContext = new StubContext(getClass().getClassLoader()); - - mAndroidTestRunner = new AndroidTestRunner(); - mAndroidTestRunner.setContext(mStubContext); - } - - public void testLoadNoTestCases() throws Exception { - mAndroidTestRunner.setTestClassName(TestSuite.class.getName(), null); - - List<TestCase> testCases = mAndroidTestRunner.getTestCases(); - assertNotNull(testCases); - assertEquals(1, testCases.size()); - assertEquals("warning", testCases.get(0).getName()); - assertEquals(TestSuite.class.getSimpleName(), mAndroidTestRunner.getTestClassName()); - } - - public void testSetTestSuiteWithOneTestCase() throws Exception { - mAndroidTestRunner.setTestClassName(OneTestTestCase.class.getName(), null); - - List<TestCase> testCases = mAndroidTestRunner.getTestCases(); - assertNotNull(testCases); - assertEquals(1, testCases.size()); - assertEquals("testOne", testCases.get(0).getName()); - assertEquals(OneTestTestCase.class.getSimpleName(), mAndroidTestRunner.getTestClassName()); - } - - public void testRunTest() throws Exception { - mAndroidTestRunner.setTestClassName(OneTestTestCase.class.getName(), null); - - TestListenerStub testListenerStub = new TestListenerStub(); - mAndroidTestRunner.addTestListener(testListenerStub); - - mAndroidTestRunner.runTest(); - - assertTrue(testListenerStub.saw("testOne")); - } - - public void testRunTestWithAndroidTestCase() throws Exception { - mAndroidTestRunner.setTestClassName( - OneAndroidTestTestCase.class.getName(), "testOneAndroid"); - - TestListenerStub testListenerStub = new TestListenerStub(); - mAndroidTestRunner.addTestListener(testListenerStub); - - assertNull(((AndroidTestCase) mAndroidTestRunner.getTestCases().get(0)).getContext()); - - mAndroidTestRunner.runTest(); - - assertTrue(testListenerStub.saw("testOneAndroid")); - assertSame(mStubContext, - ((AndroidTestCase) mAndroidTestRunner.getTestCases().get(0)).getContext()); - } - - public void testRunTestWithAndroidTestCaseInSuite() throws Exception { - mAndroidTestRunner.setTestClassName(OneAndroidTestTestCase.class.getName(), null); - - TestListenerStub testListenerStub = new TestListenerStub(); - mAndroidTestRunner.addTestListener(testListenerStub); - - mAndroidTestRunner.runTest(); - - assertTrue(testListenerStub.saw("testOneAndroid")); - - List<TestCase> testCases = mAndroidTestRunner.getTestCases(); - for (TestCase testCase : testCases) { - assertSame(mStubContext, ((AndroidTestCase) testCase).getContext()); - } - } - - public void testRunTestWithAndroidTestCaseInNestedSuite() throws Exception { - mAndroidTestRunner.setTestClassName(AndroidTestCaseTestSuite.class.getName(), null); - - TestListenerStub testListenerStub = new TestListenerStub(); - mAndroidTestRunner.addTestListener(testListenerStub); - - mAndroidTestRunner.runTest(); - - assertTrue(testListenerStub.saw("testOneAndroid")); - - List<TestCase> testCases = mAndroidTestRunner.getTestCases(); - for (TestCase testCase : testCases) { - assertSame(mStubContext, ((AndroidTestCase) testCase).getContext()); - } - } - - public void testRunTestWithNullListener() throws Exception { - mAndroidTestRunner.setTestClassName(OneTestTestCase.class.getName(), null); - - mAndroidTestRunner.addTestListener(null); - try { - mAndroidTestRunner.runTest(); - } catch (NullPointerException e) { - fail("Should not add a null TestListener"); - } - } - - public void testSetTestClassWithTestSuiteProvider() throws Exception { - mAndroidTestRunner.setTestClassName(SampleTestSuiteProvider.class.getName(), null); - List<TestCase> testCases = mAndroidTestRunner.getTestCases(); - List<String> testNames = Lists.newArrayList(); - for (TestCase testCase : testCases) { - testNames.add(testCase.getName()); - } - - // Use the test suite provided by the interface method rather than the static suite method. - assertEquals(Arrays.asList("testOne"), testNames); - } - - public void testSetTestClassWithTestSuite() throws Exception { - mAndroidTestRunner.setTestClassName(SampleTestSuite.class.getName(), null); - List<TestCase> testCases = mAndroidTestRunner.getTestCases(); - List<String> testNames = Lists.newArrayList(); - for (TestCase testCase : testCases) { - testNames.add(testCase.getName()); - } - assertEquals(Arrays.asList("testOne", "testOne", "testTwo"), testNames); - } - - public void testRunSingleTestMethod() throws Exception { - String testMethodName = "testTwo"; - mAndroidTestRunner.setTestClassName(TwoTestTestCase.class.getName(), testMethodName); - List<TestCase> testCases = mAndroidTestRunner.getTestCases(); - List<String> testNames = Lists.newArrayList(); - for (TestCase testCase : testCases) { - testNames.add(testCase.getName()); - } - assertEquals(Arrays.asList(testMethodName), testNames); - } - - public void testSetTestClassInvalidClass() throws Exception { - try { - mAndroidTestRunner.setTestClassName("class.that.does.not.exist", null); - fail("expected exception not thrown"); - } catch (RuntimeException e) { - // expected - } - } - - public void testRunSkipExecution() throws Exception { - String testMethodName = "testFail"; - mAndroidTestRunner.setTestClassName( - OnePassOneErrorOneFailTestCase.class.getName(), testMethodName); - - TestListenerStub testListenerStub = new TestListenerStub(); - mAndroidTestRunner.addTestListener(testListenerStub); - - // running the failing test should pass - ie as if its not run - mAndroidTestRunner.runTest(); - - assertTrue(testListenerStub.saw("testFail")); - } - - public static class SampleTestSuiteProvider implements TestSuiteProvider { - - public TestSuite getTestSuite() { - TestSuite testSuite = new TestSuite(); - testSuite.addTestSuite(OneTestTestCase.class); - return testSuite; - } - - public static Test suite() { - return SampleTestSuite.suite(); - } - } - - public static class SampleTestSuite { - public static TestSuite suite() { - TestSuite testSuite = new TestSuite(); - testSuite.addTestSuite(OneTestTestCase.class); - testSuite.addTestSuite(TwoTestTestCase.class); - return testSuite; - } - } - - public static class AndroidTestCaseTestSuite { - public static TestSuite suite() { - TestSuite testSuite = new TestSuite(); - testSuite.addTestSuite(OneAndroidTestTestCase.class); - return testSuite; - } - } - - public static class OneAndroidTestTestCase extends AndroidTestCase { - public void testOneAndroid() throws Exception { - } - } - - public static class OneTestTestCase extends TestCase { - public void testOne() throws Exception { - } - } - - public static class TwoTestTestCase extends TestCase { - public void testOne() throws Exception { - } - - public void testTwo() throws Exception { - } - } - - public static class OnePassOneErrorOneFailTestCase extends TestCase { - public void testPass() throws Exception { - } - - public void testError() throws Exception { - throw new Exception(); - } - - public void testFail() throws Exception { - fail(); - } - } - - private static class TestListenerStub implements TestListener { - List<String> testNames = Lists.newArrayList(); - - public void addError(Test test, Throwable t) { - } - - public void addFailure(Test test, AssertionFailedError t) { - } - - public void endTest(Test test) { - } - - public void startTest(Test test) { - if (test instanceof TestCase) { - testNames.add(((TestCase) test).getName()); - } else if (test instanceof TestSuite) { - testNames.add(((TestSuite) test).getName()); - } - } - - public boolean saw(String testName) { - return testNames.contains(testName); - } - } - - private static class StubContext extends MockContext { - private ClassLoader mClassLoader; - - public StubContext(ClassLoader classLoader) { - this.mClassLoader = classLoader; - } - - @Override - public ClassLoader getClassLoader() { - return mClassLoader; - } - } -} |