package roboguice.inject; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import roboguice.RoboGuice; import roboguice.activity.RoboActivity; import roboguice.service.RoboService; import android.content.Intent; import android.os.IBinder; @RunWith(RobolectricTestRunner.class) public class ExtrasListenerTest { @Test public void shouldInjectActivity() { final MyRoboActivity a1 = Robolectric.buildActivity(MyRoboActivity.class).create().get(); assertThat(a1.foo, equalTo(10)); } @Test public void shouldInjectService() { final MyRoboService s1 = new MyRoboService(); try { s1.onCreate(); fail(); } catch( Exception e ) { // great assertTrue(true); } } protected static class MyRoboActivity extends RoboActivity { @InjectExtra("foo") protected int foo; @Override public Intent getIntent() { return new Intent(this,RoboActivity.class).putExtra("foo", 10); } } protected static class MyRoboService extends RoboService { @InjectExtra("foo") protected int foo; @Override public IBinder onBind(Intent intent) { return null; } } }