### Question:
ListPropertyMatch implements Matcher<EventPropertyList, EventPropertyList> { @Override public boolean match(EventPropertyList offer, EventPropertyList requirement, List<MatchingResultMessage> errorLog) { if (requirement.getEventProperty() == null) { return true; } else { return domainPropertyMatch(offer, requirement, errorLog) && listItemMatch(offer, requirement, errorLog); } }  @Override boolean match(EventPropertyList offer, EventPropertyList requirement, List<MatchingResultMessage> errorLog);  }### Answer:
@Test public void matchSameDomainProperty() throws Exception { List<URI> domainProperties = new ArrayList<>(); domainProperties.add(URI.create("http: EventPropertyList offer = new EventPropertyList(); offer.setDomainProperties(domainProperties); EventPropertyList requirement = new EventPropertyList(); requirement.setDomainProperties(domainProperties); List<MatchingResultMessage> errorLog = new ArrayList<>(); boolean result = new ListPropertyMatch().match(offer, requirement, errorLog); assertTrue(result); }
@Test public void matchListWithNoFurtherRequirements() throws Exception { EventPropertyList offer = new EventPropertyList(); EventPropertyList requirement = new EventPropertyList(); List<MatchingResultMessage> errorLog = new ArrayList<>(); boolean result = new ListPropertyMatch().match(offer, requirement, errorLog); assertTrue(result); }