• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.xtremelabs.robolectric.matchers;
2 
3 import android.widget.CompoundButton;
4 import org.hamcrest.Description;
5 import org.hamcrest.Factory;
6 import org.hamcrest.Matcher;
7 import org.junit.internal.matchers.TypeSafeMatcher;
8 
9 public class CompoundButtonCheckedMatcher<T extends CompoundButton> extends TypeSafeMatcher<T> {
10     private boolean expected;
11 
CompoundButtonCheckedMatcher(boolean expected)12     public CompoundButtonCheckedMatcher(boolean expected) {
13         this.expected = expected;
14     }
15 
matchesSafely(T compoundButton)16     @Override public boolean matchesSafely(T compoundButton) {
17         return compoundButton != null && expected == compoundButton.isChecked();
18     }
19 
describeTo(Description description)20     @Override public void describeTo(Description description) {
21         description.appendText("to be [" + (expected ? "checked" : "unchecked") + "]");
22     }
23 
24     @Factory
isChecked(boolean expectedChecked)25     public static <T extends CompoundButton> Matcher<T> isChecked(boolean expectedChecked) {
26         return new CompoundButtonCheckedMatcher<T>(expectedChecked);
27     }
28 }
29