package de.ironjan.mensaupb.activities; import android.app.Activity; import android.content.Intent; import android.os.Build; import android.view.MenuItem; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import org.robolectric.fakes.RoboMenuItem; import org.robolectric.util.ActivityController; import de.ironjan.mensaupb.BuildConfig; import de.ironjan.mensaupb.R; import de.ironjan.mensaupb.app_info.About_; import de.ironjan.mensaupb.menus_ui.Menus; import de.ironjan.mensaupb.menus_ui.Menus_; import static org.robolectric.Shadows.shadowOf; /** * Test for Menus class. * * @see Menus */ @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, sdk = 21) public class MenusActivityTest { private Activity mActivity; @Before public void setupActivity() { ActivityController controller = Robolectric.buildActivity(Menus_.class).create().start().resume(); mActivity = (Activity) controller.get(); Assert.assertNotNull(mActivity); } @Test public void test_ClickOnAbAboutOpensAbout() { MenuItem item = new RoboMenuItem(R.id.ab_about); mActivity.onOptionsItemSelected(item); Intent expectedIntent = new Intent(mActivity, About_.class); Intent startedActivity = shadowOf(mActivity).getNextStartedActivity(); Assert.assertEquals(expectedIntent, startedActivity); } }