package com.prasanna.android.stacknetwork.matchers; import com.prasanna.android.http.HttpException; public class ExceptionMatcher<T extends HttpException> { public boolean isEqual(T expectedException, T exception) { if (expectedException == null && exception == null) return true; if (expectedException == null) return false; if (expectedException.getStatusCode() != exception.getStatusCode()) return false; if (expectedException.getCode() == null && exception.getCode() != null) return false; if (expectedException.getCode() != null && exception.getCode() == null) return false; if (exception.getCode() != null && !exception.getCode().equals(expectedException.getCode())) return false; if (expectedException.getStatusDescription() == null && exception.getStatusDescription() != null) return false; if (expectedException.getStatusDescription() != null && exception.getStatusDescription() == null) return false; if (exception.getStatusDescription() != null && !exception.getStatusDescription().equals(expectedException.getStatusDescription())) return false; if (expectedException.getErrorResponse() == null && exception.getErrorResponse() != null) return false; if (expectedException.getErrorResponse() != null && exception.getErrorResponse() == null) return false; if (exception.getErrorResponse() != null && !exception.getErrorResponse().equals(expectedException.getErrorResponse())) return false; return true; } }