public void TolerantComparer_VerifySimilarity_SmallChangeImage()
        {
            var perPixelManhattanThresholdValue = ImageComparer.CalculatePerPixelManhattanThresholdValue(3, ImageComparer.DefaultPerPixelChannelManhattanThreshold);

            ImageComparer.Tolerant(0, perPixelManhattanThresholdValue).VerifySimilarity(BaseImage, SmallChangeImage);
            perPixelManhattanThresholdValue = ImageComparer.CalculatePerPixelManhattanThresholdValue(1, ImageComparer.DefaultPerPixelChannelManhattanThreshold);
            Assert.Throws <ImageDifferenceIsOverThresholdException>(() =>
            {
                ImageComparer.Tolerant(0, perPixelManhattanThresholdValue).VerifySimilarity(BaseImage, SmallChangeImage);
            });
        }
        public void TolerantComparer_CompareImages_CheckerImage()
        {
            var perPixelManhattanThresholdValue = ImageComparer.CalculatePerPixelManhattanThresholdValue(3, ImageComparer.DefaultPerPixelChannelManhattanThreshold);
            var reports = ImageComparer.Tolerant(0, perPixelManhattanThresholdValue).CompareImages(BaseImage, CheckerChangeImage).ToArray();

            Assert.Single(reports);
            using var actualDifference = reports[0].CreateDifferenceImage();
            var ExpectedDifferencePath = Path.Combine(PathHelper.ImagesPath, "ExpectedDifference.png");

            using var expectedDifference = Image.Load <Rgba32>(ExpectedDifferencePath);
            var differenceReports = ImageComparer.Exact().CompareImages(expectedDifference, actualDifference).ToArray();

            Assert.Empty(differenceReports);
        }