Loading test-runner/src/android/test/TestCaseUtil.java +2 −42 Original line number Diff line number Diff line Loading @@ -40,16 +40,6 @@ public class TestCaseUtil { private TestCaseUtil() { } @SuppressWarnings("unchecked") public static List<String> getTestCaseNames(Test test, boolean flatten) { List<Test> tests = (List<Test>) getTests(test, flatten); List<String> testCaseNames = new ArrayList<>(); for (Test aTest : tests) { testCaseNames.add(getTestName(aTest)); } return testCaseNames; } public static List<? extends Test> getTests(Test test, boolean flatten) { return getTests(test, flatten, new HashSet<Class<?>>()); } Loading Loading @@ -92,7 +82,7 @@ public class TestCaseUtil { return testCases; } private static Test invokeSuiteMethodIfPossible(Class testClass, static Test invokeSuiteMethodIfPossible(Class testClass, Set<Class<?>> seen) { try { Method suiteMethod = testClass.getMethod( Loading Loading @@ -120,7 +110,7 @@ public class TestCaseUtil { return null; } public static String getTestName(Test test) { static String getTestName(Test test) { if (test instanceof TestCase) { TestCase testCase = (TestCase) test; return testCase.getName(); Loading @@ -138,34 +128,4 @@ public class TestCaseUtil { } return ""; } public static Test getTestAtIndex(TestSuite testSuite, int position) { int index = 0; Enumeration enumeration = testSuite.tests(); while (enumeration.hasMoreElements()) { Test test = (Test) enumeration.nextElement(); if (index == position) { return test; } index++; } return null; } public static TestSuite createTestSuite(Class<? extends Test> testClass) throws InstantiationException, IllegalAccessException { Test test = invokeSuiteMethodIfPossible(testClass, new HashSet<Class<?>>()); if (test == null) { return new TestSuite(testClass); } else if (TestCase.class.isAssignableFrom(test.getClass())) { TestSuite testSuite = new TestSuite(test.getClass().getName()); testSuite.addTest(test); return testSuite; } return (TestSuite) test; } } test-runner/tests/src/android/test/TestCaseUtilTest.java +27 −13 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.test; import java.util.ArrayList; import java.util.HashSet; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; Loading @@ -24,35 +26,47 @@ import java.util.List; public class TestCaseUtilTest extends TestCase { public void testGetTestCaseNamesForTestSuiteWithSuiteMethod() throws Exception { @SuppressWarnings("unchecked") private static List<String> getTestCaseNames(Test test) { List<Test> tests = (List<Test>) TestCaseUtil.getTests(test, false); List<String> testCaseNames = new ArrayList<>(); for (Test aTest : tests) { testCaseNames.add(TestCaseUtil.getTestName(aTest)); } return testCaseNames; } public void testGetTests_ForTestSuiteWithSuiteMethod() throws Exception { TestSuite testSuite = new TwoTestsInTestSuite(); List<String> testCaseNames = TestCaseUtil.getTestCaseNames(testSuite, false); List<String> testCaseNames = getTestCaseNames(testSuite); assertEquals(0, testCaseNames.size()); } public void testGetTestCaseNamesForTestCaseWithSuiteMethod() throws Exception { public void testGetTests_ForTestCaseWithSuiteMethod() throws Exception { TestCase testCase = new OneTestTestCaseWithSuite(); List<String> testCaseNames = TestCaseUtil.getTestCaseNames(testCase, false); List<String> testCaseNames = getTestCaseNames(testCase); assertEquals(1, testCaseNames.size()); assertTrue(testCaseNames.get(0).endsWith("testOne")); } public void testCreateTestForTestCase() throws Exception { Test test = TestCaseUtil.createTestSuite(OneTestTestCase.class); assertEquals(1, test.countTestCases()); public void testInvokeSuiteMethodIfPossible_ForTestCase() throws Exception { Test test = TestCaseUtil.invokeSuiteMethodIfPossible(OneTestTestCase.class, new HashSet<>()); assertNull(test); } public void testCreateTestForTestSuiteWithSuiteMethod() throws Exception { Test test = TestCaseUtil.createTestSuite(TwoTestsInTestSuite.class); public void testInvokeSuiteMethodIfPossible_ForTestSuiteWithSuiteMethod() throws Exception { Test test = TestCaseUtil.invokeSuiteMethodIfPossible(TwoTestsInTestSuite.class, new HashSet<>()); assertNotNull(test); assertEquals(2, test.countTestCases()); } public void testCreateTestForTestCaseWithSuiteMethod() throws Exception { Test test = TestCaseUtil.createTestSuite(OneTestTestCaseWithSuite.class); public void testInvokeSuiteMethodIfPossible_ForTestCaseWithSuiteMethod() throws Exception { Test test = TestCaseUtil.invokeSuiteMethodIfPossible(OneTestTestCaseWithSuite.class, new HashSet<>()); assertNotNull(test); assertEquals(1, test.countTestCases()); } Loading Loading
test-runner/src/android/test/TestCaseUtil.java +2 −42 Original line number Diff line number Diff line Loading @@ -40,16 +40,6 @@ public class TestCaseUtil { private TestCaseUtil() { } @SuppressWarnings("unchecked") public static List<String> getTestCaseNames(Test test, boolean flatten) { List<Test> tests = (List<Test>) getTests(test, flatten); List<String> testCaseNames = new ArrayList<>(); for (Test aTest : tests) { testCaseNames.add(getTestName(aTest)); } return testCaseNames; } public static List<? extends Test> getTests(Test test, boolean flatten) { return getTests(test, flatten, new HashSet<Class<?>>()); } Loading Loading @@ -92,7 +82,7 @@ public class TestCaseUtil { return testCases; } private static Test invokeSuiteMethodIfPossible(Class testClass, static Test invokeSuiteMethodIfPossible(Class testClass, Set<Class<?>> seen) { try { Method suiteMethod = testClass.getMethod( Loading Loading @@ -120,7 +110,7 @@ public class TestCaseUtil { return null; } public static String getTestName(Test test) { static String getTestName(Test test) { if (test instanceof TestCase) { TestCase testCase = (TestCase) test; return testCase.getName(); Loading @@ -138,34 +128,4 @@ public class TestCaseUtil { } return ""; } public static Test getTestAtIndex(TestSuite testSuite, int position) { int index = 0; Enumeration enumeration = testSuite.tests(); while (enumeration.hasMoreElements()) { Test test = (Test) enumeration.nextElement(); if (index == position) { return test; } index++; } return null; } public static TestSuite createTestSuite(Class<? extends Test> testClass) throws InstantiationException, IllegalAccessException { Test test = invokeSuiteMethodIfPossible(testClass, new HashSet<Class<?>>()); if (test == null) { return new TestSuite(testClass); } else if (TestCase.class.isAssignableFrom(test.getClass())) { TestSuite testSuite = new TestSuite(test.getClass().getName()); testSuite.addTest(test); return testSuite; } return (TestSuite) test; } }
test-runner/tests/src/android/test/TestCaseUtilTest.java +27 −13 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.test; import java.util.ArrayList; import java.util.HashSet; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; Loading @@ -24,35 +26,47 @@ import java.util.List; public class TestCaseUtilTest extends TestCase { public void testGetTestCaseNamesForTestSuiteWithSuiteMethod() throws Exception { @SuppressWarnings("unchecked") private static List<String> getTestCaseNames(Test test) { List<Test> tests = (List<Test>) TestCaseUtil.getTests(test, false); List<String> testCaseNames = new ArrayList<>(); for (Test aTest : tests) { testCaseNames.add(TestCaseUtil.getTestName(aTest)); } return testCaseNames; } public void testGetTests_ForTestSuiteWithSuiteMethod() throws Exception { TestSuite testSuite = new TwoTestsInTestSuite(); List<String> testCaseNames = TestCaseUtil.getTestCaseNames(testSuite, false); List<String> testCaseNames = getTestCaseNames(testSuite); assertEquals(0, testCaseNames.size()); } public void testGetTestCaseNamesForTestCaseWithSuiteMethod() throws Exception { public void testGetTests_ForTestCaseWithSuiteMethod() throws Exception { TestCase testCase = new OneTestTestCaseWithSuite(); List<String> testCaseNames = TestCaseUtil.getTestCaseNames(testCase, false); List<String> testCaseNames = getTestCaseNames(testCase); assertEquals(1, testCaseNames.size()); assertTrue(testCaseNames.get(0).endsWith("testOne")); } public void testCreateTestForTestCase() throws Exception { Test test = TestCaseUtil.createTestSuite(OneTestTestCase.class); assertEquals(1, test.countTestCases()); public void testInvokeSuiteMethodIfPossible_ForTestCase() throws Exception { Test test = TestCaseUtil.invokeSuiteMethodIfPossible(OneTestTestCase.class, new HashSet<>()); assertNull(test); } public void testCreateTestForTestSuiteWithSuiteMethod() throws Exception { Test test = TestCaseUtil.createTestSuite(TwoTestsInTestSuite.class); public void testInvokeSuiteMethodIfPossible_ForTestSuiteWithSuiteMethod() throws Exception { Test test = TestCaseUtil.invokeSuiteMethodIfPossible(TwoTestsInTestSuite.class, new HashSet<>()); assertNotNull(test); assertEquals(2, test.countTestCases()); } public void testCreateTestForTestCaseWithSuiteMethod() throws Exception { Test test = TestCaseUtil.createTestSuite(OneTestTestCaseWithSuite.class); public void testInvokeSuiteMethodIfPossible_ForTestCaseWithSuiteMethod() throws Exception { Test test = TestCaseUtil.invokeSuiteMethodIfPossible(OneTestTestCaseWithSuite.class, new HashSet<>()); assertNotNull(test); assertEquals(1, test.countTestCases()); } Loading