public void HasQualifyingStartDateMeetsExpectation(string startDate, string yearEndDate, bool expectation)
        {
            // arrange
            var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var service = new Mock <IAcademicYearDataService>(MockBehavior.Strict);

            service
            .Setup(x => x.End())
            .Returns(DateTime.Parse(yearEndDate));

            var rule07 = new Mock <IDerivedData_07Rule>(MockBehavior.Strict);

            var sut = new LearnStartDate_12Rule(handler.Object, service.Object, rule07.Object);

            var mockDelivery = new Mock <ILearningDelivery>();

            mockDelivery
            .SetupGet(y => y.LearnStartDate)
            .Returns(DateTime.Parse(startDate));

            // act
            var result = sut.HasQualifyingStartDate(mockDelivery.Object);

            // assert
            Assert.Equal(expectation, result);
        }