package jp.mixi.sample.test.test;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.test.AndroidTestCase;
import android.test.mock.MockContext;
import jp.mixi.sample.test.SampleTestTarget2;
import jp.mixi.sample.test.SubActivity;
public class SampleTestTarget2TestCase extends AndroidTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
// startSubActivity() を呼び出すテスト
public void testStartSubActivity() throws Exception {
SampleTestTarget2 target = new SampleTestTarget2();
target.startSubActivity(new SampleTestTarget2Context(getContext()), "hogehoge");
}
// Context#startActivity() が、期待通りのコンポーネントに Intent を投げているかテストするための
// MockContext
private static class SampleTestTarget2Context extends MockContext {
private Context mContext;
public SampleTestTarget2Context(Context baseContext) {
mContext = baseContext;
}
@Override
public String getPackageName() {
return mContext.getPackageName();
}
@Override
public void startActivity(Intent intent) {
ComponentName component = intent.getComponent();
assertEquals(SubActivity.class.getCanonicalName(), component.getClassName());
assertTrue(intent.hasExtra("hoge"));
assertEquals("hogehoge", intent.getStringExtra("hoge"));
}
}
}