Provides a visual command line comparison of to results
    public void Execute (object queryResult, MethodBase executingMethod)
    {
      ArgumentUtility.CheckNotNull ("executingMethod", executingMethod);

      var referenceResult = GetReferenceResult (executingMethod);
      var actualResult = GetActualResult (queryResult);

      var result = new ComparisonResult (referenceResult, actualResult);
      Assert.That (result.IsEqual, Is.True, "The actual results differ from the expected results." + Environment.NewLine + result.GetDiffSet());
    }
    public void GetDiffSet_OneLineNotEqual()
    {
      string expected = "line is same" + Environment.NewLine
                        + "line not same";
      string actual = "line is same" + Environment.NewLine
                      + "line is not the same";

      var comparisonResult = new ComparisonResult (expected, actual);

      string expectedDiffSet = MakeDiffSet (new[] { "(0002) line not same", "line is not the same" });

      Assert.That (comparisonResult.GetDiffSet(), Is.EqualTo (expectedDiffSet));
    }
    public void GetDiffSet_ExpectedHasMoreLines()
    {
      string actual = "line is not same";
      string expected = "line is not the same" + Environment.NewLine
                        + "there is one line more here";

      ComparisonResult comparisonResult = new ComparisonResult (expected, actual);

      string expectedDiffSet =  MakeDiffSet (
          new[] { "(0001) line is not the same",  "line is not same" }
          ,
          new[] { "(0002) there is one line more here", string.Empty });

      Assert.That (comparisonResult.GetDiffSet(), Is.EqualTo (expectedDiffSet));
    }
    public void GetDiffSet_BreakLongLines()
    {
      string actual = "long line test";
      string expected = "long line test".PadRight (70) + "test";

      ComparisonResult comparisonResult = new ComparisonResult (expected, actual);

      string expectedDiffSet = MakeDiffSet (new[]{"(0001) long line test","long line test"});

      Assert.That (comparisonResult.GetDiffSet(), Is.EqualTo (expectedDiffSet));
    }