public static void ExceptionPolicyHandler_HandleNull() { // Arrange var handler = new ExceptionPolicyHandler(); // Act var result = handler.HandleException(null); // Assert Assert.False(result); }
public static void ExceptionPolicyHandler_Chain_IsNull() { // Arrange var handler = new ExceptionPolicyHandler(); handler.Chain = null; // Act var result = handler.HandleException(new InvalidOperationException()); // Assert Assert.False(result); }
public static void ExceptionPolicyHandler_Unhandled() { // Arrange var ex = new InvalidOperationException(); var handlerMock1 = new Mock <IExceptionHandler>(MockBehavior.Strict); var handlerMock2 = new Mock <IExceptionHandler>(MockBehavior.Strict); handlerMock1.Setup(h => h.HandleException(ex)).Returns(false); handlerMock2.Setup(h => h.HandleException(ex)).Returns(false); var handler = new ExceptionPolicyHandler(); handler.Chain = new[] { handlerMock1.Object, handlerMock2.Object }; // Act var result = handler.HandleException(ex); // Assert Assert.False(result); handlerMock1.VerifyAll(); handlerMock2.VerifyAll(); }
public static void ExceptionPolicyHandler_Handle_TargetInvocationException(Type type) { // Arrange var ex = (Exception)Activator.CreateInstance(type, "test", new InvalidOperationException()); var handlerMock1 = new Mock <IExceptionHandler>(MockBehavior.Strict); var handlerMock2 = new Mock <IExceptionHandler>(MockBehavior.Strict); var handlerMock3 = new Mock <IExceptionHandler>(MockBehavior.Strict); handlerMock1.Setup(h => h.HandleException(ex.InnerException)).Returns(false); handlerMock2.Setup(h => h.HandleException(ex.InnerException)).Returns(true); var handler = new ExceptionPolicyHandler(); handler.Chain = new[] { handlerMock1.Object, handlerMock2.Object, handlerMock3.Object }; // Act var result = handler.HandleException(ex); // Assert Assert.True(result); handlerMock1.VerifyAll(); handlerMock2.VerifyAll(); handlerMock3.VerifyAll(); }