package com.schibsted.spain.barista; import android.support.annotation.IdRes; import android.support.test.espresso.action.ViewActions; import android.widget.AdapterView; import static android.support.test.espresso.Espresso.onData; import static android.support.test.espresso.matcher.ViewMatchers.isAssignableFrom; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static com.schibsted.spain.barista.BaristaClickActions.click; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.anything; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; public class BaristaSpinnerActions { public static void clickSpinnerItem(@IdRes int id, int position) { click(id); performClick(position); } public static void clickSpinnerItem(@IdRes int id, Class<?> modelClass, int position) { click(id); performClick(position, modelClass); } private static void performClick(int position) { onData(anything()) .inAdapterView(allOf(isAssignableFrom(AdapterView.class), isDisplayed())) .atPosition(position) .perform(ViewActions.click()); } private static void performClick(int position, Class<?> modelClass) { onData(is(instanceOf(modelClass))) .inAdapterView(allOf(isAssignableFrom(AdapterView.class), isDisplayed())) .atPosition(position) .perform(ViewActions.click()); } }