public void LineParser_Parse() { var options = new SnapshotOptions(); options.AddDirective(line => line.Replace(" ", string.Empty, StringComparison.OrdinalIgnoreCase)); var sn = new StringBuilder() .AppendLine("Line 1") .AppendLine("Line 2") .AppendLine("Line 3"); var savedsnap = SnapshotTokenizer.Tokenize(sn.ToString(), options); sn = new StringBuilder() .AppendLine("Line 1") .AppendLine(" Line 2") .AppendLine(" Line 3"); var newsnap = SnapshotTokenizer.Tokenize(sn.ToString()); var comparer = new SnapshotCompare(); var result = comparer.Compare(newsnap, savedsnap, options); result.Status.Should().Be(SnapshotStatus.SnapshotsDoNotMatch); newsnap = SnapshotTokenizer.Tokenize(sn.ToString(), options); result = comparer.Compare(newsnap, savedsnap, options); result.Status.Should().Be(SnapshotStatus.SnapshotsMatch); }
public void SnapshotOptions_Configure() { var sn = new StringBuilder() .AppendLine("Line 1") .AppendLine("Line 2") .AppendLine("Line 3"); var savedsnap = SnapshotTokenizer.Tokenize(sn.ToString()); var config = new SnapshotOptions(); config.SetComparer((newline, savedline) => newline.Value.Replace(" ", string.Empty, StringComparison.OrdinalIgnoreCase).Equals(savedline.Value.Replace(" ", string.Empty, StringComparison.OrdinalIgnoreCase))); sn = new StringBuilder() .AppendLine("Line 1") .AppendLine(" Line 2") .AppendLine(" Line 3"); var newsnap = SnapshotTokenizer.Tokenize(sn.ToString()); var comparer = new SnapshotCompare(); var result = comparer.Compare(newsnap, savedsnap, config); result.Status.Should().Be(SnapshotStatus.SnapshotsMatch); SnapshotOptions.Setup(o => { }); }
// compare before/after screenshots and output image highlighting difference internal void snapshotDiff(Screenshot before, Screenshot after, string fileBase) { if (before != null && after != null) { var path = $"{Script.ScreenshotPath}{fileBase}_Diff.png"; Script.Logger.Log("Performing snapshot diff", MessageTypes.Internal); var diff = SnapshotCompare.Difference(before, after); Script.Logger.Log($"Saving snapshot diff to: {path}", MessageTypes.General); diff.Save(path, System.Drawing.Imaging.ImageFormat.Png); } }