Select Git revision
ProgressbarAwareTest.java
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;
}
}