package nl.bstoi.poiparser.core.matcher; import nl.bstoi.poiparser.core.TestHelper; import nl.bstoi.poiparser.core.strategy.annotation.structures.EmbeddedTestRow; import org.hamcrest.BaseMatcher; import org.hamcrest.Description; import java.math.BigDecimal; /** * Hylke Stapersma * hylke.stapersma@gmail.com */ public class EmbeddedTestRowMatcher extends BaseMatcher<EmbeddedTestRow> { private final Short field1; private final Integer field2; private final Long field3; private final BigDecimal field4; public EmbeddedTestRowMatcher(Short field1, Integer field2, Long field3, BigDecimal field4) { this.field1 = field1; this.field2 = field2; this.field3 = field3; this.field4 = field4; } public boolean matches(Object o) { if (o instanceof EmbeddedTestRow) { EmbeddedTestRow embeddedTestRow = (EmbeddedTestRow) o; boolean matches = TestHelper.objectEqual(embeddedTestRow.getField1(), field1); matches &= TestHelper.objectEqual(embeddedTestRow.getField2(), field2); if (null != field3 || null != field3) { if (null == embeddedTestRow.getEmbeddableTestRow()) return false; matches &= TestHelper.objectEqual(embeddedTestRow.getEmbeddableTestRow().getField3(), field3); matches &= TestHelper.objectEqual(embeddedTestRow.getEmbeddableTestRow().getField4(), field4); } return matches; } return false; } public void describeTo(Description description) { } }