public void EndAnAlreadyEndedEntity() { var entity = new EffectiveEntityTestClass(Guid.Empty); var startDate = new Date(2019, 12, 01); var endDate = new Date(2019, 12, 31); entity.Start(startDate); entity.End(endDate); Action a = () => entity.End(endDate); a.Should().Throw <EffectiveDateException>(); }
public void EffectiveAtReturnsTrueForDateInPeriod() { var entity = new EffectiveEntityTestClass(Guid.Empty); var startDate = new Date(2019, 12, 01); var endDate = new Date(2019, 12, 31); entity.Start(startDate); entity.End(endDate); entity.IsEffectiveAt(new Date(2019, 12, 15)).Should().BeTrue(); }
public void EndWithValidDate() { var entity = new EffectiveEntityTestClass(Guid.Empty); var startDate = new Date(2019, 12, 01); var endDate = new Date(2019, 12, 31); entity.Start(startDate); entity.End(endDate); entity.EffectivePeriod.Should().Be(new DateRange(startDate, endDate)); }
public void EffectiveDuringForOverlappingRange() { var entity = new EffectiveEntityTestClass(Guid.Empty); var startDate = new Date(2019, 12, 01); var endDate = new Date(2019, 12, 31); entity.Start(startDate); entity.End(endDate); var dateRange = new DateRange(new Date(2019, 01, 01), new Date(2019, 12, 31)); entity.IsEffectiveDuring(dateRange).Should().BeTrue(); }