public void ApplyTo_CorrectlyOverwritesTargetDate_WhenEventCodeIsOutpatientFirstAppointmentAttended() { // Arrange var period = new RTT18WeekPeriod(); period.Add(new ClockStartingCompletedEvent { EventDate = new DateTime(2000, 6, 1), Name = new EventName { Code = EventCode.ReferralReceived } }); var clockTickingEvent = new ClockTickingCompletedEvent { Cancer = true, TargetDate = new DateTime(2000, 12, 1), Name = new EventName { Code = EventCode.AttendedOutpatientFirstAppointment }, Period = period }; var sut = new CompletedEventTargetDateCancerPolicy(); // Act sut.ApplyTo(clockTickingEvent); // Assert Assert.AreEqual(new DateTime(2000, 6, 1).AddDays(Constants.OutpatientFirstAppointmentAttendedTargetNumberOfDaysForCancer), clockTickingEvent.TargetDate); }
public void ApplyTo_CorrectlyOverwritesTargetDate_WhenEventCodeIsDiagnosticTestResultAvailable() { // Arrange var period = new RTT18WeekPeriod(); period.Add(new ClockStartingCompletedEvent { EventDate = new DateTime(2000, 6, 1), Name = new EventName { Code = EventCode.ReferralReceived } }); var clockTickingEvent = new ClockTickingCompletedEvent { Cancer = true, TargetDate = new DateTime(2000, 12, 1), Name = new EventName { Code = EventCode.DiagnosticsTestResultAvailable }, Period = period }; var sut = new CompletedEventTargetDateCancerPolicy(); // Act sut.ApplyTo(clockTickingEvent); // Assert Assert.AreEqual(new DateTime(2000, 6, 1).AddDays(Constants.DignosticTestResultAvailableTargetNumberOfDaysForCancer), clockTickingEvent.TargetDate); }
public void ApplyTo_DoesntOverwriteTargetDate_WhenEventIsNotCancer() { // Arrange var clockTickingEvent = new ClockTickingCompletedEvent { TargetDate = new DateTime(2000, 12, 1) }; var sut = new CompletedEventTargetDateCancerPolicy(); // Act sut.ApplyTo(clockTickingEvent); // Assert Assert.AreEqual(new DateTime(2000, 12, 1), clockTickingEvent.TargetDate); }