From 78ef6de9b72a06ef940f51e17c619132bdadf8ff Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 22 Apr 2023 15:47:05 +0200 Subject: [PATCH] Add scalar version of PngDecoder_Decode_Resize test --- .../Formats/Png/PngDecoderTests.cs | 36 +++++++++++++++++++ ...size_ScalarResizeKernel_splash_150_150.png | 3 ++ 2 files changed, 39 insertions(+) create mode 100644 tests/Images/External/ReferenceOutput/PngDecoderTests/PngDecoder_Decode_Resize_ScalarResizeKernel_splash_150_150.png diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index ef1ccbed5..97d7b02be 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -132,6 +132,42 @@ public partial class PngDecoderTests appendPixelTypeToFileName: false); } + [Theory] + [WithFile(TestImages.Png.Splash, PixelTypes.Rgba32)] + public void PngDecoder_Decode_Resize_ScalarResizeKernel(TestImageProvider provider) + { + HwIntrinsics intrinsicsFilter = HwIntrinsics.DisableHWIntrinsic; + + FeatureTestRunner.RunWithHwIntrinsicsFeature( + RunTest, + intrinsicsFilter, + provider, + string.Empty); + + static void RunTest(string arg1, string notUsed) + { + TestImageProvider provider = + FeatureTestRunner.DeserializeForXunit>(arg1); + + DecoderOptions options = new() + { + TargetSize = new() { Width = 150, Height = 150 } + }; + + using Image image = provider.GetImage(PngDecoder.Instance, options); + + FormattableString details = $"{options.TargetSize.Value.Width}_{options.TargetSize.Value.Height}"; + + image.DebugSave(provider, testOutputDetails: details, appendPixelTypeToFileName: false); + + image.CompareToReferenceOutput( + ImageComparer.TolerantPercentage(0.0005F), + provider, + testOutputDetails: details, + appendPixelTypeToFileName: false); + } + } + [Theory] [WithFile(TestImages.Png.AverageFilter3BytesPerPixel, PixelTypes.Rgba32)] [WithFile(TestImages.Png.AverageFilter4BytesPerPixel, PixelTypes.Rgba32)] diff --git a/tests/Images/External/ReferenceOutput/PngDecoderTests/PngDecoder_Decode_Resize_ScalarResizeKernel_splash_150_150.png b/tests/Images/External/ReferenceOutput/PngDecoderTests/PngDecoder_Decode_Resize_ScalarResizeKernel_splash_150_150.png new file mode 100644 index 000000000..62251f931 --- /dev/null +++ b/tests/Images/External/ReferenceOutput/PngDecoderTests/PngDecoder_Decode_Resize_ScalarResizeKernel_splash_150_150.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11e8aa44e32ae133914c91cc32a58ecdba1a107d36a0ca252e0e088053e57be1 +size 28129