|
|
|
@ -1,6 +1,7 @@ |
|
|
|
// Copyright (c) Six Labors.
|
|
|
|
// Licensed under the Six Labors Split License.
|
|
|
|
|
|
|
|
using System.Globalization; |
|
|
|
using System.Text; |
|
|
|
|
|
|
|
namespace SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison; |
|
|
|
@ -11,33 +12,36 @@ public class ImageDifferenceIsOverThresholdException : ImagesSimilarityException |
|
|
|
|
|
|
|
public ImageDifferenceIsOverThresholdException(IEnumerable<ImageSimilarityReport> reports) |
|
|
|
: base("Image difference is over threshold!" + StringifyReports(reports)) |
|
|
|
{ |
|
|
|
this.Reports = reports.ToArray(); |
|
|
|
} |
|
|
|
=> this.Reports = reports.ToArray(); |
|
|
|
|
|
|
|
private static string StringifyReports(IEnumerable<ImageSimilarityReport> reports) |
|
|
|
{ |
|
|
|
var sb = new StringBuilder(); |
|
|
|
StringBuilder sb = new(); |
|
|
|
|
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
sb.AppendFormat(CultureInfo.InvariantCulture, "Test Environment OS : {0}", GetEnvironmentName()); |
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
|
|
|
|
sb.AppendFormat(CultureInfo.InvariantCulture, "Test Environment is CI : {0}", TestEnvironment.RunsOnCI); |
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
|
|
|
|
sb.AppendFormat("Test Environment OS : {0}", GetEnvironmentName()); |
|
|
|
sb.AppendFormat(CultureInfo.InvariantCulture, "Test Environment is .NET Core : {0}", !TestEnvironment.IsFramework); |
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
|
|
|
|
sb.AppendFormat("Test Environment is CI : {0}", TestEnvironment.RunsOnCI); |
|
|
|
sb.AppendFormat(CultureInfo.InvariantCulture, "Test Environment is Mono : {0}", TestEnvironment.IsMono); |
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
|
|
|
|
sb.AppendFormat("Test Environment is .NET Core : {0}", !TestEnvironment.IsFramework); |
|
|
|
sb.AppendFormat(CultureInfo.InvariantCulture, "Test Environment OS Architecture : {0}", TestEnvironment.OSArchitecture); |
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
|
|
|
|
sb.AppendFormat("Test Environment is Mono : {0}", TestEnvironment.IsMono); |
|
|
|
sb.AppendFormat(CultureInfo.InvariantCulture, "Test Environment Process Architecture : {0}", TestEnvironment.ProcessArchitecture); |
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
|
|
|
|
foreach (ImageSimilarityReport r in reports) |
|
|
|
{ |
|
|
|
sb.AppendFormat("Report ImageFrame {0}: ", r.Index); |
|
|
|
sb.Append(r); |
|
|
|
sb.Append(Environment.NewLine); |
|
|
|
sb.AppendFormat(CultureInfo.InvariantCulture, "Report ImageFrame {0}: ", r.Index) |
|
|
|
.Append(r) |
|
|
|
.Append(Environment.NewLine); |
|
|
|
} |
|
|
|
|
|
|
|
return sb.ToString(); |
|
|
|
|