@Test public void shouldCallTheClickListenerOfTheCheckedAdapterInASingleChoiceDialog() throws Exception { AlertDialog.Builder builder = new AlertDialog.Builder(new ContextWrapper(context)); TestDialogOnClickListener listener = new TestDialogOnClickListener(); List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); ArrayAdapter<Integer> arrayAdapter = new ArrayAdapter<>(context, R.layout.main, R.id.title, list); builder.setSingleChoiceItems(arrayAdapter, 1, listener); AlertDialog alert = builder.create(); alert.show(); ShadowAlertDialog shadowAlertDialog = shadowOf(alert); shadowAlertDialog.clickOnItem(0); assertThat(listener.transcript).containsExactly("clicked on 0"); listener.transcript.clear(); shadowAlertDialog.clickOnItem(1); assertThat(listener.transcript).containsExactly("clicked on 1"); }
@Test public void testExistingAccount() { AccountManager.get(activity).addAccountExplicitly(new Account("existing", BuildConfig.APPLICATION_ID), "password", null); drawerAccount.performClick(); AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertNotNull(alertDialog); assertThat(alertDialog.getListView().getAdapter()).hasCount(1); shadowOf(alertDialog).clickOnItem(0); alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick(); assertThat(alertDialog).isNotShowing(); assertThat(drawerAccount).hasText("existing"); assertThat(drawerLogout).isVisible(); drawerAccount.performClick(); alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertThat(alertDialog.getListView().getAdapter()).hasCount(1); }