private static void AssertCore(int retryCount, string prefix, ComposablePartException error, CompositionErrorExpectation expectation) { if (expectation.ElementSpecified) { AssertCore(retryCount, prefix, "Element", expectation.Element, error.Element); } if (expectation.InnerExceptionSpecified) { AssertCore(retryCount, prefix, "InnerException", expectation.InnerException, error.InnerException); } if (expectation.InnerExceptionTypeSpecified) { AssertCore(retryCount, prefix, "InnerException.GetType()", expectation.InnerExceptionType, error.InnerException == null ? null : error.InnerException.GetType()); } if (expectation.InnerExpectationsSpecified) { var innerError = error.InnerException as ComposablePartException; if (innerError != null) { Assert.AreEqual(1, expectation.InnerExpectations.Length); AssertCore(retryCount, prefix + ".InnerException", innerError, expectation.InnerExpectations[0]); } else { AssertCore(retryCount, prefix + ".InnerException", (CompositionException)error.InnerException, expectation.InnerExpectations); } } }
public void Constructor8_ValueAsElementArgument_ShouldSetElementProperty() { var expectations = Expectations.GetCompositionElements(); foreach (var e in expectations) { var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", (ICompositionElement)e); Assert.AreSame(e, exception.Element); } }
public void Constructor7_ValueAsMessageArgument_ShouldSetMessageProperty() { var expectations = Expectations.GetExceptionMessages(); foreach (var e in expectations) { var exception = new ComposablePartException(CompositionErrorId.Unknown, e, new Exception()); Assert.AreEqual(e, exception.Message); } }
public void Constructor9_ValueAsInnerExceptionArgument_ShouldSetInnerExceptionProperty() { var expectations = Expectations.GetInnerExceptions(); foreach (var e in expectations) { var exception = new ComposablePartException("Message", ElementFactory.Create(), e); Assert.Same(e, exception.InnerException); } }
public void Constructor7_ValueAsInnerExceptionArgument_ShouldSetInnerExceptionProperty() { var expectations = Expectations.GetInnerExceptions(); foreach (var e in expectations) { var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", e); Assert.AreSame(e, exception.InnerException); } }
public void Constructor9_ValueAsElementArgument_ShouldSetElementProperty() { var expectations = Expectations.GetCompositionElements(); foreach (var e in expectations) { var exception = new ComposablePartException("Message", (ICompositionElement)e, new Exception()); Assert.Same(e, exception.Element); } }
public void Constructor3_ValueAsMessageArgument_ShouldSetMessageProperty() { var expectations = Expectations.GetExceptionMessages(); foreach (var e in expectations) { var exception = new ComposablePartException(e, ElementFactory.Create()); Assert.Equal(e, exception.Message); } }
private static ErrorId GetRootErrorId(object error) { // // Get the InnerException from the error object // Can be one of two types currently a ComposablePartException or a CompostionError // Done this clunky way to avoid shipping dead code to retrieve it from ICompositionException // Exception exception = null; if (error is ComposablePartException) { exception = ((ComposablePartException)error).InnerException; } else if (error is CompositionException) { exception = ((CompositionException)error).InnerException; } else { Assert.Fail("Unexpected type passed as error"); } ComposablePartException composablePartException = exception as ComposablePartException; if (composablePartException != null) { return(GetRootErrorId(composablePartException)); } CompositionException composition = exception as CompositionException; if (composition != null) { return(GetRootErrorId(composition)); } Assert.Fail("Unexpected type passed as innerexception"); return(ErrorId.Unknown); }
private static ErrorId GetRootErrorId(object error) { // // Get the InnerException from the error object // Can be one of two types currently a ComposablePartException or a CompositionError // Done this clunky way to avoid shipping dead code to retrieve it from ICompositionException // Exception exception = null; if (error is ComposablePartException) { exception = ((ComposablePartException)error).InnerException; } else if (error is CompositionException) { exception = ((CompositionException)error).InnerException; } else { throw new NotImplementedException(); } ComposablePartException composablePartException = exception as ComposablePartException; if (composablePartException != null) { return(GetRootErrorId(composablePartException)); } CompositionException composition = exception as CompositionException; if (composition != null) { return(GetRootErrorId(composition)); } throw new NotImplementedException(); }
public void Constructor9_NullAsMessageArgument_ShouldSetMessagePropertyToDefault() { var exception = new ComposablePartException((string)null, ElementFactory.Create(), new Exception()); ExceptionAssert.HasDefaultMessage(exception); }
public void Constructor8_ShouldSetInnerExceptionPropertyToNull() { var exception = new ComposablePartException("Message", ElementFactory.Create()); Assert.IsNull(exception.InnerException); }
public void Constructor6_ShouldSetInnerExceptionPropertyToNull() { var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message"); Assert.IsNull(exception.InnerException); }
public void Constructor6_NullAsMessageArgument_ShouldSetMessagePropertyToDefault() { var exception = new ComposablePartException((string)null); ExceptionAssert.HasDefaultMessage(exception); }
public void Constructor7_ShouldSetElementPropertyToNull() { var exception = new ComposablePartException("Message", new Exception()); Assert.Null(exception.Element); }
public void Constructor9_NullAsElementArgument_ShouldSetElementPropertyToNull() { var exception = new ComposablePartException("Message", (ICompositionElement)null, new Exception()); Assert.Null(exception.Element); }
public void Constructor9_NullAsInnerExceptionArgument_ShouldSetInnerExceptionPropertyToNull() { var exception = new ComposablePartException("Message", ElementFactory.Create(), (Exception)null); Assert.Null(exception.InnerException); }
public void Constructor7_ShouldSetElementPropertyToNull() { var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", new Exception()); Assert.IsNull(exception.Element); }
public void Constructor1_ShouldSetMessagePropertyToDefault() { var exception = new ComposablePartException(); ExceptionAssert.HasDefaultMessage(exception); }
public void Constructor6_ShouldSetInnerExceptionPropertyToNull() { var exception = new ComposablePartException("Message"); Assert.Null(exception.InnerException); }
public void Constructor1_ShouldSetElementPropertyToNull() { var exception = new ComposablePartException(); Assert.IsNull(exception.Element); }
public void Constructor8_NullAsElementArgument_ShouldSetElementPropertyToNull() { var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", (ICompositionElement)null); Assert.IsNull(exception.Element); }
public void Constructor7_NullAsInnerExceptionArgument_ShouldSetInnerExceptionPropertyToNull() { var exception = new ComposablePartException("Message", (Exception)null); Assert.IsNull(exception.InnerException); }
public void Constructor1_ShouldSetInnerExceptionPropertyToNull() { var exception = new ComposablePartException(); Assert.IsNull(exception.InnerException); }
public void Constructor7_NullAsMessageArgument_ShouldSetMessagePropertyToDefault() { var exception = new ComposablePartException(CompositionErrorId.Unknown, (string)null, new Exception()); ExceptionAssert.HasDefaultMessage(exception); }