PoC using reflection

Test will need to be something more meaningful later.
This commit is contained in:
Bradlee Speice
2014-07-06 23:05:28 -04:00
parent 60185c934a
commit 5c71e8f014
8 changed files with 37 additions and 15 deletions

View File

@ -1,10 +1,12 @@
package org.bspeice.minimalbible;
import android.content.Intent;
import android.test.ActivityInstrumentationTestCase2;
import android.test.ActivityUnitTestCase;
import android.util.Log;
import org.bspeice.minimalbible.activity.download.DownloadActivity;
import java.lang.reflect.Field;
/**
* Created by Bradlee Speice on 7/5/2014.
*/
@ -12,7 +14,8 @@ import android.util.Log;
on using an activity that sets up any underlying fragments (includes navigation drawers).
The ActivityUnitTestCase doesn't set up enough of the Activity lifecycle.
*/
public class DownloadActivityTest extends ActivityInstrumentationTestCase2<DownloadActivity> {
public class DownloadActivityTest extends
ActivityInstrumentationTestCase2<DownloadActivity> {
public DownloadActivityTest() {
super(DownloadActivity.class);
@ -22,7 +25,17 @@ public class DownloadActivityTest extends ActivityInstrumentationTestCase2<Downl
DownloadActivity a = getActivity();
assertNotNull(a);
Log.w("DownloadActivityTest", a.actionTitle);
assertEquals(a.actionTitle, a.actionTitle, "Test");
Class c = a.getClass();
try {
// getField() is public-only
Field fTitle = c.getDeclaredField("testInject");
fTitle.setAccessible(true);
CharSequence title = (CharSequence)fTitle.get(a);
assertEquals(TestModules.testActivityTitle, title);
} catch (NoSuchFieldException e) {
fail(e.getMessage());
} catch (IllegalAccessException e) {
fail(e.getMessage());
}
}
}