From 42918ed6158305e75e8cf14646abefed844aa9f8 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 27 Mar 2023 18:25:27 +0200 Subject: [PATCH] Add test for GetConverter with grayscale color space which uses FeatureTestRunner to disable specific hw features --- .../Formats/Jpg/JpegColorConverterTests.cs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs index 8ede71a5c7..2eb988e751 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs @@ -104,6 +104,35 @@ public class JpegColorConverterTests } } + [Fact] + public void GetConverterReturnsCorrectConverterWithGrayScaleColorSpace() + { + FeatureTestRunner.RunWithHwIntrinsicsFeature( + RunTest, + HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX2 | HwIntrinsics.DisableSSE2 | HwIntrinsics.DisableHWIntrinsic); + + static void RunTest(string arg) + { + // arrange + Type expectedType = typeof(JpegColorConverterBase.GrayscaleScalar); + if (Avx.IsSupported) + { + expectedType = typeof(JpegColorConverterBase.GrayscaleAvx); + } + else if (Sse2.IsSupported) + { + expectedType = typeof(JpegColorConverterBase.GrayScaleVector); + } + + // act + JpegColorConverterBase converter = JpegColorConverterBase.GetConverter(JpegColorSpace.Grayscale, 8); + Type actualType = converter.GetType(); + + // assert + Assert.Equal(expectedType, actualType); + } + } + [Fact] public void GetConverterReturnsCorrectConverterWithCmykColorSpace() {