/** * Test method for {@link it.reexon.lib.date.DateUtils#untilDate(java.util.List, java.util.Date)}. */ @Test public final void testUntilDate() { try { List<Date> dates = new LinkedList<>(ListUtils.createList(date01, date02, date03, date04, date04, date05)); Date dateReturned = DateUtils.untilDate(dates, date04); Assert.assertEquals(date04.getTime(), dateReturned.getTime()); dates = new LinkedList<>(ListUtils.createList(date01, date02, date03, date04, date04, date05)); dateReturned = DateUtils.untilDate(dates, date10); Assert.assertEquals(date05.getTime(), dateReturned.getTime()); dates = new LinkedList<>(ListUtils.createList(date01, date02, date03, date05)); dateReturned = DateUtils.untilDate(dates, date04); Assert.assertEquals(date03.getTime(), dateReturned.getTime()); try { DateUtils.untilDate(null, date04); Assert.fail("Should have thrown an exception"); } catch (Exception e) { Assert.assertEquals(e.getClass(), IllegalArgumentException.class); } try { DateUtils.untilDate(null, null); Assert.fail("Should have thrown an exception"); } catch (Exception e) { Assert.assertEquals(e.getClass(), IllegalArgumentException.class); } try { DateUtils.untilDate(Collections.emptyList(), null); Assert.fail("Should have thrown an exception"); } catch (Exception e) { Assert.assertEquals(e.getClass(), IllegalArgumentException.class); } try { DateUtils.untilDate(Collections.emptyList(), date04); Assert.fail("Should have thrown an exception"); } catch (Exception e) { Assert.assertEquals(e.getClass(), IllegalArgumentException.class); } } catch (Exception e) { logger.error(e.getMessage(), e); throw new RuntimeException(e); } }