From b372ec826b2c572c4f410f8ca0b21e5955541cc9 Mon Sep 17 00:00:00 2001 From: "osgonzalez@esei.uvigo.es" Date: Thu, 15 Mar 2018 19:36:15 +0100 Subject: [PATCH] Add isEqualToPet class --- .../uvigo/esei/daa/matchers/IsEqualToPet.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/test/java/es/uvigo/esei/daa/matchers/IsEqualToPet.java diff --git a/src/test/java/es/uvigo/esei/daa/matchers/IsEqualToPet.java b/src/test/java/es/uvigo/esei/daa/matchers/IsEqualToPet.java new file mode 100644 index 0000000..2924060 --- /dev/null +++ b/src/test/java/es/uvigo/esei/daa/matchers/IsEqualToPet.java @@ -0,0 +1,42 @@ +package es.uvigo.esei.daa.matchers; + +import static java.util.Objects.requireNonNull; + +import org.hamcrest.Factory; +import org.hamcrest.Matcher; + +import es.uvigo.esei.daa.entities.Pet; + +public class IsEqualToPet extends IsEqualToEntity { + + public IsEqualToPet(Pet entity) { + super(entity); + } + + @Override + protected boolean matchesSafely(Pet actual) { + this.clearDescribeTo(); + + if (actual == null) { + this.addTemplatedDescription("actual", expected.toString()); + return false; + } else { + return checkAttribute("idPet", Pet::getIdPet, actual) + && checkAttribute("name", Pet::getName, actual) + && checkAttribute("idMaster", Pet::getIdMaster, actual); + } + } + + + @Factory + public static IsEqualToPet equalsToPet(Pet Pet) { + return new IsEqualToPet(Pet); + } + + + @Factory + public static Matcher> containsPetsInAnyOrder(Pet ... Pets) { + return containsEntityInAnyOrder(IsEqualToPet::equalsToPet, Pets); + } + +} -- 2.18.1