| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- // Licensed to the .NET Foundation under one or more agreements.
 
- // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 
- // See the LICENSE file in the project root for more information. 
 
- using ApprovalTests.Core;
 
- using DiffPlex;
 
- using DiffPlex.DiffBuilder;
 
- using DiffPlex.DiffBuilder.Model;
 
- using System.IO;
 
- using Xunit.Abstractions;
 
- namespace ReactiveTests.Tests
 
- {
 
-     public class DiffPlexReporter : IApprovalFailureReporter
 
-     {
 
-         public static DiffPlexReporter INSTANCE = new DiffPlexReporter();
 
-         public ITestOutputHelper Output { get; set; }
 
-         public void Report(string approved, string received)
 
-         {
 
-             var approvedText = File.Exists(approved) ? File.ReadAllText(approved) : string.Empty;
 
-             var receivedText = File.ReadAllText(received);
 
-             var diffBuilder = new InlineDiffBuilder(new Differ());
 
-             var diff = diffBuilder.BuildDiffModel(approvedText, receivedText);
 
-             foreach (var line in diff.Lines)
 
-             {
 
-                 if (line.Type == ChangeType.Unchanged) continue;
 
-                 var prefix = "  ";
 
-                 switch (line.Type)
 
-                 {
 
-                     case ChangeType.Inserted:
 
-                         prefix = "+ ";
 
-                         break;
 
-                     case ChangeType.Deleted:
 
-                         prefix = "- ";
 
-                         break;
 
-                 }
 
-                 Output.WriteLine("{0}{1}", prefix, line.Text);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |