### Question:
XDateRangeConverter implements XRangeConverter { @Override public String convertStart(XRange xRange) { Preconditions.checkNotNull(xRange); Preconditions.checkArgument(isApplicable(xRange.getClass())); XDateRange xDateRange = (XDateRange) xRange; LocalDate startDate = xDateRange.getStartDate(); return SearchDateTimeUtils.convertDateToISOString(startDate); }  @Override boolean isApplicable(Class<? extends XRange> clazz); @Override String convertStart(XRange xRange); @Override String convertEnd(XRange xRange); @Override String convertGap(XRange xRange);  }### Answer:
@Test public void convertStart() { XDateRange xDateRange = new XDateRange(new LocalDate(2012, 5, 7), new LocalDate(), new Period(1, PeriodUnit.MONTH)); String startParam = xDateRangeConverter.convertStart(xDateRange); assertEquals("2012-05-07T00:00:00Z", startParam); }
@Test(expected = NullPointerException.class) public void convertStart_NULL_XRANGE() { xDateRangeConverter.convertStart(null); }