public void InvalidItemRaisesValidationMessage(int forTypeOfFunding, int andProgrammeType) { // arrange const string LearnRefNumber = "123456789X"; var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.FundModel) .Returns(forTypeOfFunding); mockDelivery .SetupGet(x => x.ProgTypeNullable) .Returns(andProgrammeType); mockDelivery .SetupGet(x => x.AimType) .Returns(TypeOfAim.ProgrammeAim); mockDelivery .SetupGet(x => x.AppFinRecords) .Returns((IReadOnlyCollection <IAppFinRecord>)null); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); var mockHandler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); mockHandler.Setup(x => x.Handle( Moq.It.Is <string>(y => y == AFinType_09Rule.Name), Moq.It.Is <string>(y => y == LearnRefNumber), null, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); mockHandler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == AFinType_09Rule.MessagePropertyName), Moq.It.Is <object>(y => y == mockDelivery.Object))) .Returns(new Mock <IErrorMessageParameter>().Object); var sut = new AFinType_09Rule(mockHandler.Object); // act sut.Validate(mockLearner.Object); // assert mockHandler.VerifyAll(); }
[InlineData(TypeOfFunding.OtherAdult, TypeOfLearningProgramme.ApprenticeshipStandard)] // in scope public void ValidItemDoesNotRaiseAValidationMessage(int forTypeOfFunding, int andProgrammeType) { // arrange const string LearnRefNumber = "123456789X"; var appFinRecords = Collection.Empty <IAppFinRecord>(); appFinRecords.Add(new Mock <IAppFinRecord>().Object); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.FundModel) .Returns(forTypeOfFunding); mockDelivery .SetupGet(x => x.ProgTypeNullable) .Returns(andProgrammeType); mockDelivery .SetupGet(x => x.AppFinRecords) .Returns(appFinRecords.AsSafeReadOnlyList()); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); var mockHandler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var sut = new AFinType_09Rule(mockHandler.Object); // act sut.Validate(mockLearner.Object); // assert mockHandler.VerifyAll(); }