Java 类android.support.test.espresso.ViewAssertion 实例源码
项目:GitHub
文件:ConnectbotMatchers.java
@NonNull
public static ViewAssertion hasHolderItem(final Matcher<RecyclerView.ViewHolder> viewHolderMatcher) {
return new ViewAssertion() {
@Override public void check(View view, NoMatchingViewException e) {
if (!(view instanceof RecyclerView)) {
throw e;
}
boolean hasMatch = false;
RecyclerView rv = (RecyclerView) view;
for (int i = 0; i < rv.getChildCount(); i++) {
RecyclerView.ViewHolder vh = rv.findViewHolderForAdapterPosition(i);
hasMatch |= viewHolderMatcher.matches(vh);
}
Assert.assertTrue(hasMatch);
}
};
}
项目:PXLSRT
文件:CameraViewTest.java
@Test
public void testAutoFocus() {
onView(withId(R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
// This can fail on devices without auto-focus support
assertThat(cameraView.getAutoFocus(), is(true));
cameraView.setAutoFocus(false);
assertThat(cameraView.getAutoFocus(), is(false));
cameraView.setAutoFocus(true);
assertThat(cameraView.getAutoFocus(), is(true));
}
});
}
项目:PXLSRT
文件:CameraViewTest.java
private static ViewAssertion showingPreview() {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
if (android.os.Build.VERSION.SDK_INT < 14) {
return;
}
CameraView cameraView = (CameraView) view;
TextureView textureView = (TextureView) cameraView.findViewById(R.id.texture_view);
Bitmap bitmap = textureView.getBitmap();
int topLeft = bitmap.getPixel(0, 0);
int center = bitmap.getPixel(bitmap.getWidth() / 2, bitmap.getHeight() / 2);
int bottomRight = bitmap.getPixel(
bitmap.getWidth() - 1, bitmap.getHeight() - 1);
assertFalse("Preview possibly blank: " + Integer.toHexString(topLeft),
topLeft == center && center == bottomRight);
}
};
}
项目:polling-station-app
文件:TestElectionChoice.java
@Test
public void clickOnElection() throws Exception {
final Election e = electionActivity.getAdapter().getItem(1);
onData(instanceOf(Election.class)) // We are using the position so don't need to specify a data matcher
.inAdapterView(withId(R.id.election_list)) // Specify the explicit id of the ListView
.atPosition(1) // Explicitly specify the adapter item to use
.perform(click());
// intended(hasComponent(MainActivity.class.getName()));
onView(withId(R.id.app_bar)).check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertEquals(((Toolbar) view).getTitle(), e.getKind());
assertEquals(((Toolbar) view).getSubtitle(), e.getPlace());
}
});
}
项目:polling-station-app
文件:TestElectionChoice.java
@Test
public void searchCityAndClick() throws Exception {
List<Election> unfilteredList = electionActivity.getAdapter().getList();
onView(withId(R.id.search)).perform(click());
final Election toClick = unfilteredList.get(0);
onView(withId(android.support.design.R.id.search_src_text)).perform(typeText(toClick.getPlace()));
onView (withId (R.id.election_list)).check (ViewAssertions.matches (new Matchers().withListSize (1)));
onData(instanceOf(Election.class))
.inAdapterView(withId(R.id.election_list))
.atPosition(0)
.perform(click());
// intended(hasComponent(MainActivity.class.getName()));
onView(withId(R.id.app_bar)).check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertEquals(((Toolbar) view).getTitle(), toClick.getKind());
assertEquals(((Toolbar) view).getSubtitle(), toClick.getPlace());
}
});
}
项目:ZeroKit-Android-SDK
文件:SampleAppTest.java
private String encrypt(String text) throws InterruptedException {
final String[] result = new String[1];
onView(withId(R.id.editText4)).perform(scrollTo(), replaceText(text), closeSoftKeyboard());
onView(allOf(withId(R.id.button2), withText("Encrypt"))).perform(scrollTo(), click());
onView(withId(R.id.editText5)).check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
result[0] = String.valueOf(((EditText) view).getText());
}
});
onView(allOf(withId(R.id.button3), withText("Test Decrypt"))).perform(scrollTo(), click());
onView(withId(R.id.textView5)).check(matches(withText(text)));
onView(allOf(withId(R.id.button4), withText("Copy"))).perform(scrollTo(), click());
return result[0];
}
项目:ZeroKit-Android-Sample
文件:SampleAppTest.java
private String encrypt(String text) throws InterruptedException {
final String[] result = new String[1];
onView(withId(R.id.editText4)).perform(scrollTo(), replaceText(text), closeSoftKeyboard());
onView(allOf(withId(R.id.button2), withText("Encrypt"))).perform(scrollTo(), click());
onView(withId(R.id.editText5)).check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
result[0] = String.valueOf(((EditText) view).getText());
}
});
onView(allOf(withId(R.id.button3), withText("Test Decrypt"))).perform(scrollTo(), click());
onView(withId(R.id.textView5)).check(matches(withText(text)));
onView(allOf(withId(R.id.button4), withText("Copy"))).perform(scrollTo(), click());
return result[0];
}
项目:espresso-macchiato
文件:EspRecyclerViewItem.java
/**
* Check that this item exist.
*
* Is true when adapter has matching item ignores the display state.
*
* @since Espresso Macchiato 0.6
*/
public void assertExist() {
findRecyclerView().check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
if (noViewFoundException != null) {
throw noViewFoundException;
}
RecyclerView recyclerView = (RecyclerView) view;
if (index >= recyclerView.getAdapter().getItemCount()) {
throw new AssertionFailedError("Requested item should exist.");
}
}
});
}
项目:SimpleCamera
文件:CameraViewTest.java
@Test
public void testAutoFocus() {
onView(withId(com.google.android.cameraview.test.R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
// This can fail on devices without auto-focus support
assertThat(cameraView.getAutoFocus(), is(true));
cameraView.setAutoFocus(false);
assertThat(cameraView.getAutoFocus(), is(false));
cameraView.setAutoFocus(true);
assertThat(cameraView.getAutoFocus(), is(true));
}
});
}
项目:SimpleCamera
文件:CameraViewTest.java
private static ViewAssertion showingPreview() {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
if (android.os.Build.VERSION.SDK_INT < 14) {
return;
}
CameraView cameraView = (CameraView) view;
TextureView textureView = (TextureView) cameraView.findViewById(com.google.android.cameraview.test.R.id.texture_view);
Bitmap bitmap = textureView.getBitmap();
int topLeft = bitmap.getPixel(0, 0);
int center = bitmap.getPixel(bitmap.getWidth() / 2, bitmap.getHeight() / 2);
int bottomRight = bitmap.getPixel(
bitmap.getWidth() - 1, bitmap.getHeight() - 1);
assertFalse("Preview possibly blank: " + Integer.toHexString(topLeft),
topLeft == center && center == bottomRight);
}
};
}
项目:material-components-android
文件:BottomSheetBehaviorTouchTest.java
@Test
public void testTouchCoordinatorLayout() {
final CoordinatorLayoutActivity activity = activityTestRule.getActivity();
down = false;
Espresso.onView(sameInstance((View) activity.mCoordinatorLayout))
.perform(ViewActions.click()) // Click outside the bottom sheet
.check(
new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException e) {
assertThat(e, is(nullValue()));
assertThat(view, is(notNullValue()));
// Check that the touch event fell through to the container
assertThat(down, is(true));
}
});
}
项目:DebugRank
文件:Util.java
public static ViewAssertion flexGridHasCode(final List<CodeLine> expectedCodeLines)
{
return new ViewAssertion()
{
@Override
public void check(View view, NoMatchingViewException noViewException)
{
FlexGrid flexGrid = (FlexGrid) view;
List<CodeLine> actualCodeLines = (List<CodeLine>) flexGrid.getItemsSource();
for (int i = 0; i < expectedCodeLines.size(); i++)
{
CodeLine expected = expectedCodeLines.get(i);
CodeLine actual = actualCodeLines.get(i);
assertEquals(expected.getCodeText(), actual.getCodeText());
}
}
};
}
项目:cameraview
文件:CameraViewTest.java
@Test
public void testAutoFocus() {
onView(withId(R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
// This can fail on devices without auto-focus support
assertThat(cameraView.getAutoFocus(), is(true));
cameraView.setAutoFocus(false);
assertThat(cameraView.getAutoFocus(), is(false));
cameraView.setAutoFocus(true);
assertThat(cameraView.getAutoFocus(), is(true));
}
});
}
项目:cameraview
文件:CameraViewTest.java
private static ViewAssertion showingPreview() {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
if (android.os.Build.VERSION.SDK_INT < 14) {
return;
}
CameraView cameraView = (CameraView) view;
TextureView textureView = (TextureView) cameraView.findViewById(R.id.texture_view);
Bitmap bitmap = textureView.getBitmap();
int topLeft = bitmap.getPixel(0, 0);
int center = bitmap.getPixel(bitmap.getWidth() / 2, bitmap.getHeight() / 2);
int bottomRight = bitmap.getPixel(
bitmap.getWidth() - 1, bitmap.getHeight() - 1);
assertFalse("Preview possibly blank: " + Integer.toHexString(topLeft),
topLeft == center && center == bottomRight);
}
};
}
项目:zulip-android
文件:ViewAssertions.java
public static ViewAssertion checkMessagesOnlyFromToday() {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException e) {
if (!(view instanceof RecyclerView)) {
throw e;
}
RecyclerView rv = (RecyclerView) view;
RecyclerMessageAdapter recyclerMessageAdapter = (RecyclerMessageAdapter) rv.getAdapter();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("OfDate-" + (new Date()).toString() + " { ");
for (int index = 0; index < recyclerMessageAdapter.getItemCount(); index++) {
if (recyclerMessageAdapter.getItem(index) instanceof Message) {
Message message = (Message) recyclerMessageAdapter.getItem(index);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.US);
stringBuilder.append(message.getID() + "-" + sdf.format(message.getTimestamp()) + " , ");
assertTrue("This message is not of today ID=" + message.getID() + ":" + message.getIdForHolder() + "\ncontent=" + message.getContent(), DateUtils.isToday(message.getTimestamp().getTime()));
}
}
stringBuilder.append(" }");
printLogInPartsIfExceeded(stringBuilder, "checkMessagesOnlyFromToday");
}
};
}
项目:android-step-by-step
文件:EspressoTools.java
public static ViewAssertion hasViewWithTextAtPosition(final int index, final CharSequence text) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException e) {
if (!(view instanceof RecyclerView)) {
throw e;
}
RecyclerView rv = (RecyclerView) view;
ArrayList<View> outviews = new ArrayList<>();
rv.findViewHolderForAdapterPosition(index).itemView.findViewsWithText(outviews, text,
FIND_VIEWS_WITH_TEXT);
Truth.assert_().withFailureMessage("There's no view at index " + index + " of recyclerview that has text : " + text)
.that(outviews).isNotEmpty();
}
};
}
项目:android-step-by-step
文件:EspressoTools.java
public static ViewAssertion doesntHaveViewWithText(final String text) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException e) {
if (!(view instanceof RecyclerView)) {
throw e;
}
RecyclerView rv = (RecyclerView) view;
ArrayList<View> outviews = new ArrayList<>();
for (int index = 0; index < rv.getAdapter().getItemCount(); index++) {
rv.findViewHolderForAdapterPosition(index).itemView.findViewsWithText(outviews, text,
FIND_VIEWS_WITH_TEXT);
if (outviews.size() > 0) break;
}
Truth.assertThat(outviews).isEmpty();
}
};
}
项目:Bill-Calculator
文件:RecyclerViewInteraction.java
public RecyclerViewInteraction checkView(final @IdRes int id, final ViewAssertion itemViewAssertion) {
viewInteraction.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException ex) {
RecyclerView recyclerView = (RecyclerView) view;
RecyclerView.ViewHolder viewHolderForPosition = recyclerView.findViewHolderForLayoutPosition(position);
if (viewHolderForPosition == null) {
throw (new PerformException.Builder())
.withActionDescription(toString())
.withViewDescription(HumanReadables.describe(view))
.withCause(new IllegalStateException("No view holder at position: " + position))
.build();
} else {
View viewAtPosition = viewHolderForPosition.itemView.findViewById(id);
itemViewAssertion.check(viewAtPosition, ex);
}
}
});
return this;
}
项目:android-training-2017
文件:CalculatorAndroidTest.java
@Test
public void testActivityRun() {
calculatorActivity.launchActivity(new Intent());
ViewInteraction calculateButton = onView(withId(R.id.calculate_button));
calculateButton.check(matches(isDisplayed()));
calculateButton.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
if(view.isEnabled()) {
throw new IllegalStateException("button enabled");
}
}
});
onView(withId(R.id.input_field_edit_text)).perform(typeText("1+2"));
calculateButton.check(matches(isEnabled()));
calculateButton.perform(click());
/*onView(withId(R.id.result_text_view)).check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
if(!((TextView)view).getText().toString().equals("3")) {
throw new IllegalStateException("result wrong. Aspected 3");
}
}
});*/
}
项目:PXLSRT
文件:CameraViewTest.java
@Test
public void testFacing() {
onView(withId(R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
assertThat(cameraView.getFacing(), is(CameraView.FACING_BACK));
cameraView.setFacing(CameraView.FACING_FRONT);
assertThat(cameraView.getFacing(), is(CameraView.FACING_FRONT));
}
})
.perform(waitFor(1000))
.check(showingPreview());
}
项目:PXLSRT
文件:CameraViewTest.java
@Test
public void testFlash() {
onView(withId(R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
assertThat(cameraView.getFlash(), is(CameraView.FLASH_AUTO));
cameraView.setFlash(CameraView.FLASH_TORCH);
assertThat(cameraView.getFlash(), is(CameraView.FLASH_TORCH));
}
});
}
项目:polling-station-app
文件:TestElectionChoice.java
@Test
public void atElectionActivity() throws Exception {
onView(withId(R.id.app_bar)).check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertEquals(((Toolbar) view).getTitle(), "Choose election");
}
});
}
项目:NumberPadTimePicker
文件:NumberPadTimePickerDialogTest.java
/**
* @param enabled Whether the view should be matched to be enabled or not.
* @return A {@link ViewAssertion} that asserts that a view should be matched
* to be enabled or disabled.
*/
private static ViewAssertion matchesIsEnabled(boolean enabled) {
// TODO: When we're comfortable with the APIs, we can statically import them and
// make direct calls to these methods and cut down on the verbosity, instead of
// writing helper methods that wrap these APIs.
return ViewAssertions.matches(enabled ? ViewMatchers.isEnabled() : Matchers.not(ViewMatchers.isEnabled()));
}
项目:Android-Infrastructure
文件:RecyclerViewAssertions.java
public static ViewAssertion hasItemsCount(final int count) {
return new ViewAssertion() {
@Override public void check(View view, NoMatchingViewException e) {
if (!(view instanceof RecyclerView)) {
throw e;
}
RecyclerView rv = (RecyclerView) view;
assertThat(rv.getAdapter(), notNullValue());
assertThat(rv.getAdapter().getItemCount(), equalTo(count));
}
};
}
项目:espresso-macchiato
文件:AppBarLayoutAssertion.java
public static ViewAssertion assertIsExpanded() {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
AppBarLayout appBarLayout = (AppBarLayout) view;
boolean isFullExpanded = appBarLayout.getHeight() - appBarLayout.getBottom() == 0;
ViewMatchers.assertThat("is full expanded", isFullExpanded, is(true));
}
};
}
项目:espresso-macchiato
文件:AppBarLayoutAssertion.java
public static ViewAssertion assertIsCollapsed() {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CollapsingToolbarLayout collapsingToolbarLayout = null;
Toolbar toolbar = null;
AppBarLayout appBarLayout = (AppBarLayout) view;
for (int i = 0; i < appBarLayout.getChildCount(); i++) {
if(appBarLayout.getChildAt(i) instanceof CollapsingToolbarLayout) {
collapsingToolbarLayout = (CollapsingToolbarLayout) appBarLayout.getChildAt(i);
}
}
if(collapsingToolbarLayout == null) {
throw new IllegalStateException("Current only AppBarLayouts with CollapsingToolbarLayout are supported.");
}
for (int i = 0; i < collapsingToolbarLayout.getChildCount(); i++) {
if(collapsingToolbarLayout.getChildAt(i) instanceof Toolbar) {
toolbar = (Toolbar) collapsingToolbarLayout.getChildAt(i);
}
}
if(toolbar == null) {
throw new IllegalStateException("Current only CollapsingToolbarLayout with support Toolbar are supported.");
}
boolean isFullCollapsed = appBarLayout.getBottom() - toolbar.getHeight() == 0;
isFullCollapsed |= appBarLayout.getBottom() - toolbar.getHeight() - EspResourceTool.getStatusBarHeight(view.getContext()) == 0;
ViewMatchers.assertThat("is full collapsed", isFullCollapsed, is(true));
}
};
}
项目:SimpleCamera
文件:CameraViewTest.java
@Test
public void testFacing() {
onView(withId(com.google.android.cameraview.test.R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
assertThat(cameraView.getFacing(), is(CameraView.FACING_BACK));
cameraView.setFacing(CameraView.FACING_FRONT);
assertThat(cameraView.getFacing(), is(CameraView.FACING_FRONT));
}
})
.perform(waitFor(1000))
.check(showingPreview());
}
项目:SimpleCamera
文件:CameraViewTest.java
@Test
public void testFlash() {
onView(withId(com.google.android.cameraview.test.R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
assertThat(cameraView.getFlash(), is(CameraView.FLASH_AUTO));
cameraView.setFlash(CameraView.FLASH_TORCH);
assertThat(cameraView.getFlash(), is(CameraView.FLASH_TORCH));
}
});
}
项目:Expander
文件:TestUtils.java
public static ViewAssertion isGone() {
return new ViewAssertion() {
public void check(View view, NoMatchingViewException noView) {
assertThat(view, new VisibilityMatcher(View.GONE));
}
};
}
项目:Expander
文件:TestUtils.java
public static ViewAssertion isInvisible() {
return new ViewAssertion() {
public void check(View view, NoMatchingViewException noView) {
assertThat(view, new VisibilityMatcher(View.INVISIBLE));
}
};
}
项目:material-components-android
文件:TextInputLayoutTest.java
private static ViewAssertion isHintExpanded(final boolean expanded) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertTrue(view instanceof TextInputLayout);
assertEquals(expanded, ((TextInputLayout) view).isHintExpanded());
}
};
}
项目:material-components-android
文件:TextInputLayoutTest.java
private static ViewAssertion isBoxStrokeColor(@ColorInt final int boxStrokeColor) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertTrue(view instanceof TextInputLayout);
assertEquals(boxStrokeColor, ((TextInputLayout) view).getBoxStrokeColor());
}
};
}
项目:material-components-android
文件:TextInputLayoutTest.java
private static ViewAssertion isBoxBackgroundColor(@ColorInt final int boxBackgroundColor) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertTrue(view instanceof TextInputLayout);
assertEquals(boxBackgroundColor, ((TextInputLayout) view).getBoxBackgroundColor());
}
};
}
项目:material-components-android
文件:TextInputLayoutTest.java
private static ViewAssertion isBoxCornerRadiusTopRight(final float boxCornerRadiusTopRight) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertTrue(view instanceof TextInputLayout);
assertEquals(
boxCornerRadiusTopRight, ((TextInputLayout) view).getBoxCornerRadiusTopRight(), 0.01);
}
};
}
项目:material-components-android
文件:TextInputLayoutTest.java
private static ViewAssertion isCutoutOpen(final boolean open) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertTrue(view instanceof TextInputLayout);
assertEquals(open, ((TextInputLayout) view).cutoutIsOpen());
}
};
}
项目:material-components-android
文件:TextInputLayoutTest.java
static ViewAssertion isPasswordToggledVisible(final boolean isToggledVisible) {
return new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertTrue(view instanceof TextInputLayout);
EditText editText = ((TextInputLayout) view).getEditText();
TransformationMethod transformationMethod = editText.getTransformationMethod();
if (isToggledVisible) {
assertNull(transformationMethod);
} else {
assertEquals(PasswordTransformationMethod.getInstance(), transformationMethod);
}
}
};
}
项目:DebugRank
文件:Util.java
public static ViewAssertion flexGridReadOnly(final boolean expected)
{
return new ViewAssertion()
{
@Override
public void check(View view, NoMatchingViewException noViewException)
{
FlexGrid flexGrid = (FlexGrid) view;
assertEquals(expected, flexGrid.isReadOnly());
}
};
}
项目:DebugRank
文件:Util.java
public static ViewAssertion mockDrawable(final String expectedTag)
{
return new ViewAssertion()
{
@Override
public void check(View view, NoMatchingViewException noViewException)
{
String tag = (String) ((MockDrawable) ((ImageView) view).getDrawable()).getTag();
assertEquals(expectedTag, tag);
}
};
}
项目:DebugRank
文件:Util.java
public static ViewAssertion withDrawable(@DrawableRes final int expectedResourceId)
{
return new ViewAssertion()
{
@Override
public void check(View view, NoMatchingViewException noViewException)
{
@DrawableRes int tag = (int) ((MockDrawable) ((ImageView) view).getDrawable()).getTag();
assertEquals(expectedResourceId, tag);
}
};
}
项目:cameraview
文件:CameraViewTest.java
@Test
public void testFacing() {
onView(withId(R.id.camera))
.check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
CameraView cameraView = (CameraView) view;
assertThat(cameraView.getFacing(), is(CameraView.FACING_BACK));
cameraView.setFacing(CameraView.FACING_FRONT);
assertThat(cameraView.getFacing(), is(CameraView.FACING_FRONT));
}
})
.perform(waitFor(1000))
.check(showingPreview());
}