package com.aconex.scrutineer; import org.hamcrest.Description; import org.hamcrest.Factory; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; public class HasIdAndVersionMatcher extends TypeSafeMatcher<IdAndVersion> { private final String id; private final long version; public HasIdAndVersionMatcher(String id, long version) { this.id = id; this.version = version; } @Override public boolean matchesSafely(IdAndVersion idAndVersion) { return idAndVersion.getId().endsWith(id) && idAndVersion.getVersion() == version; } @Override public void describeTo(Description description) { description.appendText(" has id and version "+id+":"+version); } @Factory public static <T>Matcher<IdAndVersion> hasIdAndVersion(String id, long version) { return new HasIdAndVersionMatcher(id,version); } }