public void ToStringBareBones() { AssertionFailure failure = new AssertionFailureBuilder("Description") .SetStackTrace(null) .ToAssertionFailure(); Assert.AreEqual("Description\n", failure.ToString()); }
public void ToStringEverything() { AssertionFailure failure = new AssertionFailureBuilder("Description") .SetMessage("Message goes here") .SetStackTrace(new StackTraceData("Stack goes here")) .AddRawExpectedValue("Expected value") .AddRawActualValue("Actual value") .AddRawLabeledValue("Very Long Label That Will Not Be Padded", "") .AddRawLabeledValue("x", 42) .AddException(new Exception("Boom")) .AddException(new Exception("Kaput")) .AddInnerFailure(new AssertionFailureBuilder("Inner").SetStackTrace(null).ToAssertionFailure()) .ToAssertionFailure(); Assert.AreEqual("Description\nMessage goes here\n\nExpected Value : \"Expected value\"\nActual Value : \"Actual value\"\nVery Long Label That Will Not Be Padded : \"\"\nx : 42\n\nSystem.Exception: Boom\n\nSystem.Exception: Kaput\n\nStack goes here\nInner\n", failure.ToString()); }
public void TruncatesLabelsAndFormattedValues() { AssertionFailure failure = new AssertionFailureBuilder("Description") .SetStackTrace(null) .AddLabeledValue(new string('x', AssertionFailure.MaxLabelLengthBeforeTruncation + 1), new string('y', AssertionFailure.MaxFormattedValueLength + 1)) .ToAssertionFailure(); Assert.AreEqual("Description\n\n" + new string('x', AssertionFailure.MaxLabelLengthBeforeTruncation) + "... : " + new string('y', AssertionFailure.MaxFormattedValueLength) + "...\n", failure.ToString()); }