package com.maxmind.geoip2.matchers; import com.maxmind.geoip2.exception.HttpException; import org.hamcrest.Description; import org.hamcrest.TypeSafeMatcher; public class HttpStatusMatcher extends TypeSafeMatcher<HttpException> { private int foundStatusCode; private final int expectedStatusCode; public static HttpStatusMatcher hasStatus(int item) { return new HttpStatusMatcher(item); } private HttpStatusMatcher(int expectedStatusCode) { this.expectedStatusCode = expectedStatusCode; } @Override protected boolean matchesSafely(final HttpException exception) { this.foundStatusCode = exception.getHttpStatus(); return this.foundStatusCode == this.expectedStatusCode; } @Override public void describeTo(Description description) { description.appendValue(String.valueOf(this.foundStatusCode)) .appendText(" was not found instead of ") .appendValue(String.valueOf(this.expectedStatusCode)); } }