AlertDialogTest.java revision 50e71a2777cae2b5f630448c5ab22be4066d4d6d
150e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardpackage com.xtremelabs.droidsugar.fakes;
250e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard
350e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport android.app.AlertDialog;
450e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport android.app.Dialog;
550e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport android.content.ContextWrapper;
650e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport com.xtremelabs.droidsugar.DroidSugarAndroidTestRunner;
750e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport org.junit.Before;
850e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport org.junit.Test;
950e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport org.junit.runner.RunWith;
1050e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard
1150e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport static com.xtremelabs.droidsugar.DroidSugarAndroidTestRunner.proxyFor;
1250e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport static org.hamcrest.Matchers.equalTo;
1350e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport static org.hamcrest.Matchers.sameInstance;
1450e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardimport static org.junit.Assert.assertThat;
1550e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard
1650e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard@RunWith(DroidSugarAndroidTestRunner.class)
1750e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richardpublic class AlertDialogTest {
1850e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard    @Before
1950e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard    public void setUp() throws Exception {
2050e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        DroidSugarAndroidTestRunner.addProxy(Dialog.class, FakeDialog.class);
2150e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        DroidSugarAndroidTestRunner.addProxy(AlertDialog.class, FakeAlertDialog.class);
2250e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        DroidSugarAndroidTestRunner.addProxy(AlertDialog.Builder.class, FakeAlertDialog.FakeBuilder.class);
2350e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard    }
2450e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard
2550e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard    @Test
2650e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard    public void testBuilder() throws Exception {
2750e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        AlertDialog.Builder builder = new AlertDialog.Builder(new ContextWrapper(null));
2850e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        builder.setTitle("title")
2950e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard                .setMessage("message");
3050e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        AlertDialog alert = builder.create();
3150e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        alert.show();
3250e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard
3350e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        assertThat(alert.isShowing(), equalTo(true));
3450e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard
3550e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        FakeAlertDialog fakeAlertDialog = (FakeAlertDialog) proxyFor(alert);
3650e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        assertThat(fakeAlertDialog.title, equalTo("title"));
3750e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        assertThat(fakeAlertDialog.message, equalTo("message"));
3850e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard        assertThat(FakeAlertDialog.latestAlertDialog, sameInstance(fakeAlertDialog));
3950e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard    }
4050e71a2777cae2b5f630448c5ab22be4066d4d6dChristian Williams & Ryan Richard}
41