public void HasQualifyingStartMeetsExpectation(string candidate, bool expectation)
        {
            // arrange
            var delivery = new Mock <ILearningDelivery>();
            var testDate = DateTime.Parse(candidate);

            var handler   = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var ddRule22  = new Mock <IDerivedData_22Rule>(MockBehavior.Strict);
            var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict);

            commonOps
            .Setup(x => x.HasQualifyingStart(delivery.Object, testDate, null))
            .Returns(expectation);

            var sut = new LearnStartDate_15Rule(handler.Object, ddRule22.Object, commonOps.Object);

            // act
            var result = sut.HasQualifyingStart(delivery.Object, testDate);

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

            handler.VerifyAll();
            ddRule22.VerifyAll();
            commonOps.VerifyAll();
        }
        public void HasQualifyingStartMeetsExpectation(string candidate, bool expectation)
        {
            var delivery = new Mock <ILearningDelivery>();
            var testDate = DateTime.Parse(candidate);

            var handler    = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var ddRule22   = new Mock <IDerivedData_22Rule>(MockBehavior.Strict);
            var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict);

            dateTimeQS
            .Setup(x => x.IsDateBetween(delivery.Object.LearnStartDate, testDate, DateTime.MaxValue, true))
            .Returns(expectation);

            var sut = new LearnStartDate_15Rule(handler.Object, ddRule22.Object, dateTimeQS.Object);

            var result = sut.HasQualifyingStart(delivery.Object, testDate);

            Assert.Equal(expectation, result);

            handler.VerifyAll();
            ddRule22.VerifyAll();
            dateTimeQS.VerifyAll();
        }