public void NonXunitException() { var errorMetadata = new ErrorMetadata { new Exception("This is the message") }; var result = ExceptionUtility.CombineMessages(errorMetadata); Assert.Equal("System.Exception : This is the message", result); }
public void NonXunitExceptionWithInnerExceptions() { var errorMetadata = new ErrorMetadata { { new Exception("outer exception"), -1 }, { new DivideByZeroException("inner exception"), 0 }, { new XunitException("inner inner exception"), 1 } }; var result = ExceptionUtility.CombineMessages(errorMetadata); Assert.Equal( "System.Exception : outer exception" + Environment.NewLine + "---- System.DivideByZeroException : inner exception" + Environment.NewLine + "-------- inner inner exception", result ); }
public void AggregateException() { var errorMetadata = new ErrorMetadata { { new AggregateException(), -1 }, { new DivideByZeroException("inner #1"), 0 }, { new NotImplementedException("inner #2"), 0 }, { new XunitException("this is crazy"), 0 }, }; var result = ExceptionUtility.CombineMessages(errorMetadata); Assert.Equal( "System.AggregateException : One or more errors occurred." + Environment.NewLine + "---- System.DivideByZeroException : inner #1" + Environment.NewLine + "---- System.NotImplementedException : inner #2" + Environment.NewLine + "---- this is crazy", result ); }
public void MissingExceptionTypes() { var errorMetadata = new ErrorMetadata(); errorMetadata.AddMessage("Message 1"); errorMetadata.AddMessage("Message 2"); errorMetadata.AddMessage("Message 3"); errorMetadata.AddIndex(-1); errorMetadata.AddIndex(0); errorMetadata.AddIndex(0); errorMetadata.AddExceptionType("ExceptionType1"); errorMetadata.AddExceptionType("Xunit.Sdk.ExceptionType2"); var result = ExceptionUtility.CombineMessages(errorMetadata); Assert.Equal( "ExceptionType1 : Message 1" + Environment.NewLine + "---- Message 2" + Environment.NewLine + "---- : Message 3", result ); }