# ViewAssertion

`public interface ViewAssertion`
``

android.support.test.espresso.ViewAssertion

Responsible for performing assertions on a View element.

This is considered part of the test framework public API - developers are free to write their own assertions as long as they meet the following requirements:

- Do not mutate the passed in view.
- Throw junit.framework.AssertionError when the view assertion does not hold.
- Implementation runs on the UI thread - so it should not do any blocking operations
- Downcasting the view to a specific type is allowed, provided there is a test that view is an instance of that type before downcasting. If not, an AssertionError should be thrown.
- It is encouraged to access non-mutating methods on the view to perform assertion.

Strongly consider using a existing ViewAssertion via the ViewAssertions utility class before writing your own assertion.

## Summary

### Public methods
`abstract void` | `check(View view, NoMatchingViewException noViewFoundException)` Checks the state of the given view (if such a view is present).

## Public methods

### check

    void check (View view,
                    NoMatchingViewException noViewFoundException)

Checks the state of the given view (if such a view is present).

Parameters
`view` | `View`: the view, if one was found during the view interaction or null if it was not (which may be an acceptable option for an assertion)
`noViewFoundException` | `NoMatchingViewException`: an exception detailing why the view could not be found or null if the view was found

- ## Interfaces

  - BaseLayerComponent
  - EspressoException
  - FailureHandler
  - IdlingResource
  - IdlingResource.ResourceCallback
  - UiController
  - ViewAction
  - ViewAssertion
  - ViewFinder
  - ViewInteractionComponent

- ## Classes

  - AmbiguousViewMatcherException.Builder
  - DataInteraction
  - Espresso
  - GraphHolder
  - IdlingPolicies
  - IdlingPolicy
  - NoMatchingViewException.Builder
  - PerformException.Builder
  - Root
  - Root.Builder
  - ViewInteraction

- ## Exceptions

  - AmbiguousViewMatcherException
  - AppNotIdleException
  - IdlingResourceTimeoutException
  - InjectEventSecurityException
  - NoActivityResumedException
  - NoMatchingRootException
  - NoMatchingViewException
  - PerformException