### Question:
ConditionalOSMTagInspector implements ConditionalTagInspector { @Override public boolean isRestrictedWayConditionallyPermitted(ReaderWay way) { return applies(way, true); } ConditionalOSMTagInspector(Object value, List<String> tagsToCheck,
                                      Set<String> restrictiveValues, Set<String> permittedValues);  ConditionalOSMTagInspector(List<String> tagsToCheck, List<? extends ConditionalValueParser> valueParsers,
                                      Set<String> restrictiveValues, Set<String> permittedValues, boolean enabledLogs); void addValueParser(ConditionalValueParser vp); @Override boolean isRestrictedWayConditionallyPermitted(ReaderWay way); @Override boolean isPermittedWayConditionallyRestricted(ReaderWay way);  }### Answer:
@Test public void testConditionalAllowance() { Calendar cal = getCalendar(2014, Calendar.MARCH, 10); ConditionalTagInspector acceptor = new ConditionalOSMTagInspector(cal, getSampleConditionalTags(), getSampleRestrictedValues(), getSamplePermissiveValues()); ReaderWay way = new ReaderWay(1); way.setTag("vehicle:conditional", "yes @ (Mar 10-Aug 14)"); assertTrue(acceptor.isRestrictedWayConditionallyPermitted(way)); }
@Test public void testConditionalAllowanceSingleDay() { Calendar cal = getCalendar(2015, Calendar.DECEMBER, 27); ConditionalTagInspector acceptor = new ConditionalOSMTagInspector(cal, getSampleConditionalTags(), getSampleRestrictedValues(), getSamplePermissiveValues()); ReaderWay way = new ReaderWay(1); way.setTag("vehicle:conditional", "yes @ (Su)"); assertTrue(acceptor.isRestrictedWayConditionallyPermitted(way)); }