public void GetCandidateMessageProviderTypeShouldAddAResultForASingleGenericRuleWithMessageWhenItMatches([Frozen] IGetsCandidateMessageTypes wrapped, RuleWithMessageCandidateTypeDecorator sut, [RuleResult(RuleInterface = typeof(IRule <string>))] ValidationRuleResult result) { Mock.Get(wrapped).Setup(x => x.GetCandidateMessageProviderTypes(result)).Returns(Array.Empty <MessageProviderTypeInfo>()); Mock.Get(result.ValidationLogic).SetupGet(x => x.RuleObject).Returns(new SingleGenericRuleWithMessage()); Assert.That(() => sut.GetCandidateMessageProviderTypes(result), Has.One.InstanceOf <InstanceMessageProviderInfo>()); }
public void GetCandidateMessageProviderTypeShouldNotAddAResultIfTheRuleObjectDoesNotMatchTheRuleWithMessageInterface([Frozen] IGetsCandidateMessageTypes wrapped, RuleWithMessageCandidateTypeDecorator sut, [RuleResult(RuleInterface = typeof(IRule <string>))] ValidationRuleResult result) { Mock.Get(wrapped).Setup(x => x.GetCandidateMessageProviderTypes(result)).Returns(Array.Empty <MessageProviderTypeInfo>()); Mock.Get(result.ValidationLogic).SetupGet(x => x.RuleObject).Returns(new DoubleGenericRuleWithMessage()); Assert.That(() => sut.GetCandidateMessageProviderTypes(result), Is.Empty); }
public void GetCandidateMessageProviderTypesShouldAlwaysReturnWrappedResults([Frozen] IGetsCandidateMessageTypes wrapped, RuleWithMessageCandidateTypeDecorator sut, MessageProviderTypeInfo typeInfo1, MessageProviderTypeInfo typeInfo2, MessageProviderTypeInfo typeInfo3, [RuleResult] ValidationRuleResult result) { Mock.Get(wrapped).Setup(x => x.GetCandidateMessageProviderTypes(result)).Returns(new[] { typeInfo1, typeInfo2, typeInfo3 }); Assert.That(() => sut.GetCandidateMessageProviderTypes(result), Is.SupersetOf(new[] { typeInfo1, typeInfo2, typeInfo3 })); }