public void ConditionMetWithValidFinancialSupportCombinationsReturnsTrue(params int[] candidates) { var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var provider = new Mock <IProvideLookupDetails>(MockBehavior.Strict); provider .Setup(x => x.Get(TypeOfIntegerCodedLookup.FinType)) .Returns(candidates); var sut = new FINTYPE_02Rule(handler.Object, provider.Object); var result = sut.ConditionMet(GetFinancialSupport(candidates)); Assert.True(result); }
public void InvalidItemRaisesValidationMessage(params int[] candidates) { // arrange const string LearnRefNumber = "123456789X"; var mock = new Mock <ILearner>(); mock.SetupGet(x => x.LearnRefNumber).Returns(LearnRefNumber); var mockHE = new Mock <ILearnerHE>(); mockHE.SetupGet(x => x.LearnerHEFinancialSupports).Returns(GetFinancialSupport(candidates)); mock.SetupGet(x => x.LearnerHEEntity).Returns(mockHE.Object); var mockDelivery = new Mock <ILearningDelivery>(); var deliveries = Collection.Empty <ILearningDelivery>(); mock.SetupGet(x => x.LearningDeliveries).Returns(deliveries.AsSafeReadOnlyList()); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); handler.Setup(x => x.Handle( Moq.It.Is <string>(y => y == "FINTYPE_02"), Moq.It.Is <string>(y => y == LearnRefNumber), null, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == FINTYPE_02Rule.MessagePropertyName), Moq.It.IsAny <IReadOnlyCollection <ILearnerHEFinancialSupport> >())) .Returns(new Mock <IErrorMessageParameter>().Object); var provider = new Mock <IProvideLookupDetails>(MockBehavior.Strict); provider .Setup(x => x.Get(TypeOfIntegerCodedLookup.FINTYPE)) .Returns(candidates); var sut = new FINTYPE_02Rule(handler.Object, provider.Object); // act sut.Validate(mock.Object); // assert handler.VerifyAll(); provider.VerifyAll(); }
public void ConditionMetWithValidFinancialSupportCombinationsReturnsTrue(params int[] candidates) { // arrange var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var provider = new Mock <IProvideLookupDetails>(MockBehavior.Strict); provider .Setup(x => x.AsASet(LookupSimpleKey.FINTYPE)) .Returns(candidates); var sut = new FINTYPE_02Rule(handler.Object, provider.Object); // act var result = sut.ConditionMet(GetFinancialSupport(candidates)); // assert Assert.True(result); }
public void ConditionMetWithInvalidFinancialSupportCombinationsReturnsFalse(params int[] candidates) { // arrange var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var provider = new Mock <IProvideLookupDetails>(MockBehavior.Strict); provider .Setup(x => x.Get(TypeOfIntegerCodedLookup.FINTYPE)) .Returns(candidates); var sut = new FINTYPE_02Rule(handler.Object, provider.Object); // act var result = sut.ConditionMet(GetFinancialSupport(candidates)); // assert Assert.False(result); handler.VerifyAll(); provider.VerifyAll(); }
public void ValidItemDoesNotRaiseAValidationMessage(params int[] candidates) { // arrange const string LearnRefNumber = "123456789X"; var mock = new Mock <ILearner>(); mock.SetupGet(x => x.LearnRefNumber).Returns(LearnRefNumber); var mockHE = new Mock <ILearnerHE>(); mockHE.SetupGet(x => x.LearnerHEFinancialSupports).Returns(GetFinancialSupport(candidates)); mock.SetupGet(x => x.LearnerHEEntity).Returns(mockHE.Object); var mockDelivery = new Mock <ILearningDelivery>(); var mockDeliveryHE = new Mock <ILearningDeliveryHE>(); mockDelivery.SetupGet(x => x.LearningDeliveryHEEntity) .Returns(mockDeliveryHE.Object); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); mock.SetupGet(x => x.LearningDeliveries).Returns(deliveries.AsSafeReadOnlyList()); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var provider = new Mock <IProvideLookupDetails>(MockBehavior.Strict); provider .Setup(x => x.Get(TypeOfIntegerCodedLookup.FINTYPE)) .Returns(candidates); var sut = new FINTYPE_02Rule(handler.Object, provider.Object); // act sut.Validate(mock.Object); // assert handler.VerifyAll(); provider.VerifyAll(); }