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);
        }
Example #2
0
        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 => { });
        }
Example #3
0
 // 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);
     }
 }