### Question:
ScheduledAction { boolean actionIsOnOrAfter(final LocalDate date) { return when.compareTo(date) >= 0; } ScheduledAction(
      @Nonnull final Action action,
      @Nonnull final LocalDate when,
      @Nonnull final Period actionPeriod,
      @Nonnull final Period repaymentPeriod);  ScheduledAction(
      @Nonnull final Action action,
      @Nonnull final LocalDate when,
      @Nonnull final Period actionPeriod);  ScheduledAction(
      @Nonnull final Action action,
      @Nonnull final LocalDate when); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); @Nullable Period getActionPeriod(); Action getAction(); @Nullable Period getRepaymentPeriod(); LocalDate getWhen();  }### Answer:
@Test public void actionIsOnOrBefore() { final LocalDate today = LocalDate.now(); final LocalDate tomorrow = today.plusDays(1); final LocalDate yesterday = today.minusDays(1); final ScheduledAction testSubject = new ScheduledAction(Action.APPLY_INTEREST, today); Assert.assertTrue(testSubject.actionIsOnOrAfter(today)); Assert.assertFalse(testSubject.actionIsOnOrAfter(tomorrow)); Assert.assertTrue(testSubject.actionIsOnOrAfter(yesterday)); }