summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/gallery3d/exif/ExifTestRunner.java
diff options
context:
space:
mode:
authorEarl Ou <shunhsingou@google.com>2012-08-09 14:17:33 +0800
committerEarl Ou <shunhsingou@google.com>2012-08-15 09:46:21 +0800
commite81de49429e1c29385baffc7ce17b7188badc49a (patch)
treedb3322594c9f4a45e380327596a5a371337b1e41 /tests/src/com/android/gallery3d/exif/ExifTestRunner.java
parenta7c64453563b15d19b083ba546dce9f4aae42406 (diff)
downloadandroid_packages_apps_Snap-e81de49429e1c29385baffc7ce17b7188badc49a.tar.gz
android_packages_apps_Snap-e81de49429e1c29385baffc7ce17b7188badc49a.tar.bz2
android_packages_apps_Snap-e81de49429e1c29385baffc7ce17b7188badc49a.zip
A simple ExifReader and its test
Change-Id: I1a30d24591bbdab288e04e3705ece388b533f247
Diffstat (limited to 'tests/src/com/android/gallery3d/exif/ExifTestRunner.java')
-rw-r--r--tests/src/com/android/gallery3d/exif/ExifTestRunner.java35
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