public void IsExcludedMeetsExpectation(bool isSP, bool isRES, bool expectation) { // arrange var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule04 = new Mock <IDerivedData_04Rule>(MockBehavior.Strict); var larsData = new Mock <ILARSDataService>(MockBehavior.Strict); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps .Setup(x => x.IsStandardApprencticeship(null)) .Returns(isSP); if (!isSP) { commonOps .Setup(x => x.IsRestart(null)) .Returns(isRES); } var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object); // act var result = sut.IsExcluded(null); // assert handler.VerifyAll(); ddRule04.VerifyAll(); larsData.VerifyAll(); commonOps.VerifyAll(); Assert.Equal(expectation, result); }
public void GetFrameworkAimsForMeetsExpectation(string learnAimRef) { // arrange var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnAimRef) .Returns(learnAimRef); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule04 = new Mock <IDerivedData_04Rule>(MockBehavior.Strict); var larsData = new Mock <ILARSDataService>(MockBehavior.Strict); larsData .Setup(x => x.GetFrameworkAimsFor(learnAimRef)) .Returns((IReadOnlyCollection <ILARSFrameworkAim>)null); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object); // act var result = sut.GetQualifyingFrameworksFor(delivery.Object); // assert handler.VerifyAll(); ddRule04.VerifyAll(); larsData.VerifyAll(); commonOps.VerifyAll(); Assert.Null(result); }
public void GetEarliestStartDateForMeetsExpectation(string candidate) { // arrange var testDate = string.IsNullOrWhiteSpace(candidate) ? (DateTime?)null : DateTime.Parse(candidate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule04 = new Mock <IDerivedData_04Rule>(MockBehavior.Strict); ddRule04 .Setup(x => x.GetEarliesStartDateFor(null, null)) .Returns(testDate); var larsData = new Mock <ILARSDataService>(MockBehavior.Strict); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object); // act var result = sut.GetEarliestStartDateFor(null, null); // assert handler.VerifyAll(); ddRule04.VerifyAll(); larsData.VerifyAll(); commonOps.VerifyAll(); Assert.Equal(testDate, result); }
[InlineData("2017-04-01", "2016-04-01", "2017-04-01")] // upper limit public void ValidItemDoesNotRaiseValidationMessage(string candidate, string start, string end) { // arrange const string LearnRefNumber = "123456789X"; const string learnAimRef = "shonkyRefCode"; // <= any old code for the purpose of the test... var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); delivery .SetupGet(x => x.LearnAimRef) .Returns(learnAimRef); // these are random and meaningless values delivery .SetupGet(x => x.ProgTypeNullable) .Returns(2); delivery .SetupGet(x => x.FworkCodeNullable) .Returns(3); delivery .SetupGet(x => x.PwayCodeNullable) .Returns(4); var deliveries = new ILearningDelivery[] { delivery.Object }; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule04 = new Mock <IDerivedData_04Rule>(MockBehavior.Strict); ddRule04 .Setup(x => x.GetEarliesStartDateFor(delivery.Object, deliveries)) .Returns(testDate); var startDate = DateTime.Parse(start); var endDate = string.IsNullOrWhiteSpace(end) ? (DateTime?)null : DateTime.Parse(end); var frameworkAim = new Mock <ILARSFrameworkAim>(); frameworkAim .SetupGet(x => x.ProgType) .Returns(2); frameworkAim .SetupGet(x => x.FworkCode) .Returns(3); frameworkAim .SetupGet(x => x.PwayCode) .Returns(4); frameworkAim .SetupGet(x => x.StartDate) .Returns(startDate); frameworkAim .SetupGet(x => x.EndDate) .Returns(endDate); var larsData = new Mock <ILARSDataService>(MockBehavior.Strict); larsData .Setup(x => x.GetFrameworkAimsFor(learnAimRef)) .Returns(new ILARSFrameworkAim[] { frameworkAim.Object }); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps .Setup(x => x.IsComponentOfAProgram(delivery.Object)) .Returns(true); commonOps .Setup(x => x.InApprenticeship(delivery.Object)) .Returns(true); commonOps .Setup(x => x.IsRestart(delivery.Object)) .Returns(false); commonOps .Setup(x => x.IsStandardApprencticeship(delivery.Object)) .Returns(false); var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); ddRule04.VerifyAll(); larsData.VerifyAll(); commonOps.VerifyAll(); }