Android Open Source - droidcon-android-espresso Idling Resource Activity Test






From Project

Back to project page droidcon-android-espresso.

License

The source code is released under:

Apache License

If you think the Android project droidcon-android-espresso listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.xrigau.droidcon.espresso.presentation;
/*w  w w . j a v a  2s.com*/
import android.os.Handler;
import android.test.ActivityInstrumentationTestCase2;

import com.google.android.apps.common.testing.ui.espresso.contrib.CountingIdlingResource;
import com.xrigau.droidcon.espresso.R;

import static com.google.android.apps.common.testing.ui.espresso.Espresso.onView;
import static com.google.android.apps.common.testing.ui.espresso.Espresso.registerIdlingResources;
import static com.google.android.apps.common.testing.ui.espresso.assertion.ViewAssertions.matches;
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withId;
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withText;

public class IdlingResourceActivityTest extends ActivityInstrumentationTestCase2<IdlingResourceActivity> {

    public IdlingResourceActivityTest() {
        super(IdlingResourceActivity.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        IdlingResourceActivity activity = getActivity();

        CountingIdlingResource idlingResource = new CountingIdlingResource("WorldDestructionCountdown");
        activity.setCountdown(new CountdownWrapper(activity.makeHandler(), idlingResource));
        registerIdlingResources(idlingResource); // Comment this line to see the test failing
    }

    public void testWorldIsSuccessfullyDestroyed() {
        onView(withId(R.id.timer)).check(matches(withText(R.string.countdown_finished)));
    }

    private class CountdownWrapper extends WorldDestructionCountdown {

        private final CountingIdlingResource idlingResource;

        public CountdownWrapper(Handler handler, CountingIdlingResource idlingResource) {
            super(handler);
            this.idlingResource = idlingResource;
        }

        @Override
        protected void onCountdownStarted() {
            idlingResource.increment();
        }

        @Override
        public void onCountdownFinished() {
            idlingResource.decrement();
        }

        @Override
        public void stop() {
            super.stop();
            idlingResource.decrement();
        }
    }
}




Java Source Code List

com.xrigau.droidcon.core.debug.MockClient.java
com.xrigau.droidcon.core.model.PostList.java
com.xrigau.droidcon.core.model.PostShould.java
com.xrigau.droidcon.core.model.Post.java
com.xrigau.droidcon.core.service.Services.java
com.xrigau.droidcon.core.task.NewsTask.java
com.xrigau.droidcon.core.task.TaskExecutorShould.java
com.xrigau.droidcon.core.task.TaskExecutor.java
com.xrigau.droidcon.core.task.Task.java
com.xrigau.droidcon.espresso.AndroidUnitTest.java
com.xrigau.droidcon.espresso.helper.DrawableMatcher.java
com.xrigau.droidcon.espresso.helper.EspressoTestsMatchers.java
com.xrigau.droidcon.espresso.loader.LoaderListener.java
com.xrigau.droidcon.espresso.loader.PostsTaskLoaderCallbacks.java
com.xrigau.droidcon.espresso.loader.PostsTaskLoader.java
com.xrigau.droidcon.espresso.presentation.IdlingResourceActivityTest.java
com.xrigau.droidcon.espresso.presentation.IdlingResourceActivity.java
com.xrigau.droidcon.espresso.presentation.MainActivityTest.java
com.xrigau.droidcon.espresso.presentation.MainActivity.java
com.xrigau.droidcon.espresso.presentation.PostListActivityTest.java
com.xrigau.droidcon.espresso.presentation.PostListActivity.java
com.xrigau.droidcon.espresso.presentation.VisitorActivityTest.java
com.xrigau.droidcon.espresso.presentation.VisitorActivity.java
com.xrigau.droidcon.espresso.presentation.WorldDestructionCountdown.java
com.xrigau.droidcon.espresso.presentation.adapter.EmptyAdapter.java
com.xrigau.droidcon.espresso.presentation.adapter.PostsAdapter.java
com.xrigau.droidcon.espresso.util.DeveloperError.java