package fr.openwide.core.test.wicket.more.model;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
import com.google.common.base.Equivalence;
import fr.openwide.core.test.wicket.more.AbstractWicketMoreTestCase;
public class AbstractTestModel<T> extends AbstractWicketMoreTestCase {
private final Equivalence<? super T> equivalence;
public AbstractTestModel(Equivalence<? super T> equivalence) {
super();
this.equivalence = equivalence;
}
protected Matcher<T> isEquivalent(final T expected) {
return new TypeSafeMatcher<T>() {
@Override
public void describeTo(Description description) {
description.appendValue(expected);
}
@Override
protected boolean matchesSafely(T item) {
return equivalence.equivalent(expected, item);
}
};
}
}