package org.iilab.pb; import android.content.Intent; import android.content.SharedPreferences; import org.iilab.pb.HomeActivity; import org.iilab.pb.common.ApplicationSettings; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowPreferenceManager; import static org.junit.Assert.assertNotNull; import static org.robolectric.Robolectric.shadowOf; //import org.iilab.pb.HomeActivity; @RunWith(RobolectricTestRunner.class) public class HomeActivityTest { private HomeActivity homeActivity; private ShadowActivity shadowActivity; @Before public void setUp() { homeActivity = new HomeActivity(); shadowActivity = shadowOf(homeActivity); } @Test public void shouldInitializeData(){ } @Test public void shouldUpdateDataAndDisplayWizardWhenUserHasNotFinishedTheWizard() { setFirstRun(true); // homeActivity.onCreate(null); // assertNull(shadowActivity.getNextStartedActivity()); } @Test public void shouldUpdateDataAndStartCalculatorFacadeWhenUserCompletedWizard() { setFirstRun(false); // homeActivity.onCreate(null); Intent startedIntent = shadowActivity.getNextStartedActivity(); // assertEquals(CalculatorActivity.class.getName(), startedIntent.getComponent().getClassName()); } @Test public void shouldDisplayWizardWhenUserHasNotFinishedTheWizard() { setFirstRun(true); // homeActivity.onCreate(null); // assertNull(shadowActivity.getNextStartedActivity()); } @Test public void shouldStartCalculatorFacadeWhenUserCompletedWizard() { setFirstRun(false); // homeActivity.onCreate(null); Intent startedIntent = shadowActivity.getNextStartedActivity(); // assertEquals(CalculatorActivity.class.getName(), startedIntent.getComponent().getClassName()); } @Test public void shouldReturnAnInstance(){ assertNotNull(new ApplicationSettings()); } private void setFirstRun(boolean flag) { SharedPreferences sharedPreferences = ShadowPreferenceManager.getDefaultSharedPreferences(Robolectric.application); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putBoolean("FIRST_RUN", flag); editor.commit(); } }