### Question:
PhenotypeComponentImpl implements PhenotypeComponent { @Override public boolean isEffective(Date timepoint) { if (timepoint.before(start) || timepoint.after(end)) { return false; } return true; } private  PhenotypeComponentImpl(); private  PhenotypeComponentImpl(@NotNull Date start, @Nullable Date end, @NotNull TermId hpoTerm, boolean isNegated); @Override Date effectiveStart(); @Override Date effectiveEnd(); @Override boolean isEffective(Date timepoint); @Override boolean isPersistingDuring(Date start, Date end); @Override boolean occurredDuring(Date start, Date end); @Override TermId abnormality(); @Override boolean isNegated(); @Override void changeEffectiveStart(Date start); @Override void changeEffectiveEnd(Date end);  }### Answer:
@Test public void isEffective() throws Exception { assertFalse(testComponent.isEffective(dateFormat.parse("2016-09-29 10:00:00"))); assertTrue(testComponent.isEffective(dateFormat.parse("2016-09-30 09:30:00"))); assertTrue(testComponent.isEffective(dateFormat.parse("2016-09-30 09:30:01"))); assertTrue(testComponent.isEffective(dateFormat.parse("2016-09-30 10:30:00"))); assertTrue(testComponent.isEffective(dateFormat.parse("2020-09-30 09:30:01"))); }