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