diff options
author | Owen Lin <owenlin@android.com> | 2012-08-14 23:29:26 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-08-14 23:29:27 -0700 |
commit | 64223e1a46eafaee0502c94dbac5637aeba9414e (patch) | |
tree | c9677760340f28d9d5ed6b42cfbb769e96f273fb /tests/src/com/android/gallery3d/exif/ExifTestRunner.java | |
parent | 9ef602b77ad0cc7aca49a05f39f193277e0e8ae7 (diff) | |
parent | e81de49429e1c29385baffc7ce17b7188badc49a (diff) | |
download | android_packages_apps_Snap-64223e1a46eafaee0502c94dbac5637aeba9414e.tar.gz android_packages_apps_Snap-64223e1a46eafaee0502c94dbac5637aeba9414e.tar.bz2 android_packages_apps_Snap-64223e1a46eafaee0502c94dbac5637aeba9414e.zip |
Merge "A simple ExifReader and its test" into gb-ub-photos-arches
Diffstat (limited to 'tests/src/com/android/gallery3d/exif/ExifTestRunner.java')
-rw-r--r-- | tests/src/com/android/gallery3d/exif/ExifTestRunner.java | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/tests/src/com/android/gallery3d/exif/ExifTestRunner.java b/tests/src/com/android/gallery3d/exif/ExifTestRunner.java index 7f7a228e5..022597d73 100644 --- a/tests/src/com/android/gallery3d/exif/ExifTestRunner.java +++ b/tests/src/com/android/gallery3d/exif/ExifTestRunner.java @@ -16,17 +16,22 @@ package com.android.gallery3d.exif; +import android.test.InstrumentationTestCase; import android.test.InstrumentationTestRunner; import android.test.InstrumentationTestSuite; +import android.util.Log; import com.android.gallery3d.tests.R; import junit.framework.TestCase; import junit.framework.TestSuite; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ExifTestRunner extends InstrumentationTestRunner { + private static final String TAG = "ExifTestRunner"; + private static final int[] IMG_RESOURCE = { R.raw.galaxy_nexus }; @@ -37,16 +42,36 @@ public class ExifTestRunner extends InstrumentationTestRunner { @Override public TestSuite getAllTests() { TestSuite suite = new InstrumentationTestSuite(this); - for (Method method : ExifParserTest.class.getDeclaredMethods()) { + getAllTestFromTestCase(ExifParserTest.class, suite); + getAllTestFromTestCase(ExifReaderTest.class, suite); + return suite; + } + + private void getAllTestFromTestCase(Class<? extends InstrumentationTestCase> testClass, + TestSuite suite) { + for (Method method : testClass.getDeclaredMethods()) { if (method.getName().startsWith("test") && method.getParameterTypes().length == 0) { for (int i = 0; i < IMG_RESOURCE.length; i++) { - TestCase test = new ExifParserTest(IMG_RESOURCE[i], EXIF_DATA_RESOURCE[i]); - test.setName(method.getName()); - suite.addTest(test); + TestCase test; + try { + test = testClass.getDeclaredConstructor(int.class, int.class). + newInstance(IMG_RESOURCE[i], EXIF_DATA_RESOURCE[i]); + test.setName(method.getName()); + suite.addTest(test); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Failed to create test case", e); + } catch (InstantiationException e) { + Log.e(TAG, "Failed to create test case", e); + } catch (IllegalAccessException e) { + Log.e(TAG, "Failed to create test case", e); + } catch (InvocationTargetException e) { + Log.e(TAG, "Failed to create test case", e); + } catch (NoSuchMethodException e) { + Log.e(TAG, "Failed to create test case", e); + } } } } - return suite; } @Override |