public void Should_return_first_handler_returned_by_convention() { var expectedHandler = new ExceptionPolicyViolationHandler(); var convention1 = new MockConvention(null); var convention2 = new MockConvention(expectedHandler); var convention3 = new MockConvention(null); var conventions = new List <IPolicyViolationHandlerConvention> { convention1, convention2, convention3 }; var policy = new IgnorePolicy(); var policyResult = PolicyResult.CreateFailureResult(policy, "Access denied"); var exception = new PolicyViolationException(policyResult); var selector = new PolicyViolationHandlerSelector(conventions); // Act var handler = selector.FindHandlerFor(exception); // Assert Assert.That(handler, Is.EqualTo(expectedHandler)); Assert.That(convention1.WasCalled, Is.True); Assert.That(convention2.WasCalled, Is.True); Assert.That(convention3.WasCalled, Is.False); }
public void Should_return_null_when_no_convention_returns_handler() { var convention1 = new MockConvention(null); var convention2 = new MockConvention(null); var conventions = new List <IPolicyViolationHandlerConvention> { convention1, convention2 }; var policy = new IgnorePolicy(); var policyResult = PolicyResult.CreateFailureResult(policy, "Access denied"); var exception = TestDataFactory.CreatePolicyViolationException(policyResult); var selector = new PolicyViolationHandlerSelector(conventions); // Act var handler = selector.FindHandlerFor(exception); // Assert Assert.That(handler, Is.Null); Assert.That(convention1.WasCalled, Is.True); Assert.That(convention2.WasCalled, Is.True); }