Skip to content
Snippets Groups Projects
Select Git revision
  • d374a7cd85e9e642b0ff419545aab7b11ba9c407
  • master default protected
2 results

ProgressbarAwareTest.java

Blame
  • ProgressbarAwareTest.java 2.10 KiB
    package org.openhab.habdroid;
    
    import android.support.test.espresso.IdlingRegistry;
    import android.support.test.espresso.IdlingResource;
    import android.support.test.espresso.intent.rule.IntentsTestRule;
    import android.view.View;
    
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Rule;
    import org.openhab.habdroid.ui.MainActivity;
    
    public abstract class ProgressbarAwareTest {
        @Rule
        public IntentsTestRule<MainActivity> mActivityTestRule =
                new IntentsTestRule<>(MainActivity.class,  true, false);
    
        private IdlingResource mProgressbarIdlingResource;
        private IdlingResource mFragmentIdlingResource;
    
        @Before
        public void setup() {
            mActivityTestRule.launchActivity(null);
        }
    
        protected void setupRegisterIdlingResources() {
            IdlingRegistry.getInstance().register(getProgressbarIdlingResource());
            IdlingRegistry.getInstance().register(getFragmentIdlingResource());
        }
    
        protected IdlingResource getProgressbarIdlingResource() {
            if (mProgressbarIdlingResource == null) {
                final View progressBar =
                        mActivityTestRule.getActivity().findViewById(R.id.toolbar_progress_bar);
                mProgressbarIdlingResource =
                        new ProgressbarIdlingResource("Progressbar IdleResource", progressBar);
            }
            return mProgressbarIdlingResource;
        }
    
        protected IdlingResource getFragmentIdlingResource() {
            if (mFragmentIdlingResource == null) {
                mFragmentIdlingResource = new FragmentStatusIdlingResource("FragmentIdleResource",
                        mActivityTestRule.getActivity().getSupportFragmentManager());
            }
            return mFragmentIdlingResource;
        }
    
        @After
        public void unregisterIdlingResource() {
            if (mProgressbarIdlingResource != null) {
                IdlingRegistry.getInstance().unregister(mProgressbarIdlingResource);
            }
            if (mFragmentIdlingResource != null) {
                IdlingRegistry.getInstance().unregister(mFragmentIdlingResource);
            }
    
            mProgressbarIdlingResource = null;
            mFragmentIdlingResource = null;
        }
    }