public static void GetErrorCodesVector___Should_return_null___When_error_code_was_not_added_to_exception_and_no_InnerException_nor_InnerExceptions() { // Arrange, var exception = new ArgumentException(); // Act var actual = exception.GetErrorCodesVector(); // Assert actual.Should().BeNull(); }
public static void GetErrorCodesVector___Should_throw_ArgumentNullException___When_parameter_dataKeyForErrorCodesVector_is_null() { // Arrange var exception = new ArgumentException(); // Act var actual = Record.Exception(() => exception.GetErrorCodesVector(dataKeyForErrorCodesVector: null)); // Assert actual.Should().BeOfType <ArgumentNullException>(); actual.Message.Should().Contain("dataKeyForErrorCodesVector"); }
public static void GetErrorCodesVector___Should_return_error_code_of_exception___When_error_code_was_added_to_exception_and_no_InnerException_nor_InnerExceptions() { // Arrange, var exception = new ArgumentException(); var errorCode = A.Dummy <string>(); exception.AddErrorCode(errorCode); // Act var actual = exception.GetErrorCodesVector(); // Assert actual.Should().Be(errorCode); }
public static void GetErrorCodesVector___Should_return_error_code_of_exception___When_error_code_was_added_to_and_retrieved_from_exception_using_custom_dataKeyForErrorCodesVector() { // Arrange, var exception = new ArgumentException(); var dataKeyForErrorCodesVector = A.Dummy <string>(); var errorCode = A.Dummy <string>(); exception.AddErrorCode(errorCode, dataKeyForErrorCodesVector: dataKeyForErrorCodesVector); // Act var actual = exception.GetErrorCodesVector(dataKeyForErrorCodesVector); // Assert actual.Should().Be(errorCode); }
public static void GetErrorCodesVector___Should_return_vector___When_there_are_InnerException_and_InnerExceptions_but_not_all_have_error_codes_scenario_4() { // Arrange var exceptionF = new ArgumentException(); var exceptionE = new AggregateException(exceptionF); var exceptionD = new ArgumentException().AddErrorCode("ErrorD"); var exceptionC = new ArgumentException(A.Dummy <string>(), exceptionD); var exceptionG = new ArgumentException(); var exceptionB = new AggregateException(exceptionC, exceptionE, exceptionG).AddErrorCode("ErrorB"); var exceptionA = new ArgumentException(A.Dummy <string>(), exceptionB).AddErrorCode("ErrorA"); var expected = "ErrorA -> ErrorB -> ErrorD"; // Act var actual = exceptionA.GetErrorCodesVector(); // Assert actual.Should().Be(expected); }
public static void GetErrorCodesVector___Should_return_vector___When_there_are_InnerException_and_InnerExceptions() { // Arrange var exceptionF = new ArgumentException().AddErrorCode("ErrorF"); var exceptionE = new AggregateException(exceptionF).AddErrorCode("ErrorE"); var exceptionD = new ArgumentException().AddErrorCode("ErrorD"); var exceptionC = new ArgumentException(A.Dummy <string>(), exceptionD).AddErrorCode("ErrorC"); var exceptionG = new ArgumentException().AddErrorCode("ErrorG"); var exceptionB = new AggregateException(exceptionC, exceptionE, exceptionG).AddErrorCode("ErrorB"); var exceptionA = new ArgumentException(A.Dummy <string>(), exceptionB).AddErrorCode("ErrorA"); var expected = "ErrorA -> ErrorB -> [ErrorC -> ErrorD, ErrorE -> ErrorF, ErrorG]"; // Act var actual = exceptionA.GetErrorCodesVector(); // Assert actual.Should().Be(expected); }