Comparing strings that contain formatting in C#

Posted by Finglas on Stack Overflow See other posts from Stack Overflow or by Finglas
Published on 2010-06-01T16:19:55Z Indexed on 2010/06/01 16:23 UTC
Read the original article Hit count: 224

Filed under:
|
|

I'm working on a function that given some settings - such as line spacing, the output (in string form) is modified. In order to test such scenarios, I'm using string literals, as shown below for the expected result.

The method, using a string builder, (AppendLine) generates the said output. One issue I have run into is that of comparing such strings. In the example below, both are equal in terms of what they represent. The result is the area which I care about, however when comparing two strings, one literal, one not, equality naturally fails. This is because one of the strings emits line spacing, while the other only demonstrates the formatting it contains.

What would be the best way of solving this equality problem? I do care about formatting such as new lines from the result of the method, this is crucially important.

Code:

string expected = @"Test\n\n\nEnd Test.";
string result = "Test\n\n\nEnd Test";

Console.WriteLine(expected);
Console.WriteLine(result);

Output:

  Test\n\n\nEnd Test.
  Test


  End Test

© Stack Overflow or respective owner

Related posts about c#

Related posts about string