Browse Source

Add test for GetConverter with cmyk color space which uses FeatureTestRunner to disable specific hw features

pull/2416/head
Brian Popow 4 years ago
parent
commit
f4727d1d34
  1. 35
      tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs

35
tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs

@ -72,7 +72,7 @@ public class JpegColorConverterTests
} }
[Fact] [Fact]
public void GetConverterReturnsValidConverterWithRgbColorSpace() public void GetConverterReturnsCorrectConverterWithRgbColorSpace()
{ {
FeatureTestRunner.RunWithHwIntrinsicsFeature( FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest, RunTest,
@ -104,6 +104,39 @@ public class JpegColorConverterTests
} }
} }
[Fact]
public void GetConverterReturnsCorrectConverterWithCmykColorSpace()
{
FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest,
HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX2 | HwIntrinsics.DisableSSE2 | HwIntrinsics.DisableHWIntrinsic);
static void RunTest(string arg)
{
// arrange
Type expectedType = typeof(JpegColorConverterBase.CmykScalar);
if (Avx.IsSupported)
{
expectedType = typeof(JpegColorConverterBase.CmykAvx);
}
else if (Sse2.IsSupported)
{
expectedType = typeof(JpegColorConverterBase.CmykVector);
}
else if (AdvSimd.IsSupported)
{
expectedType = typeof(JpegColorConverterBase.CmykArm64);
}
// act
JpegColorConverterBase converter = JpegColorConverterBase.GetConverter(JpegColorSpace.Cmyk, 8);
Type actualType = converter.GetType();
// assert
Assert.Equal(expectedType, actualType);
}
}
[Theory] [Theory]
[InlineData(JpegColorSpace.Grayscale, 1)] [InlineData(JpegColorSpace.Grayscale, 1)]
[InlineData(JpegColorSpace.Ycck, 4)] [InlineData(JpegColorSpace.Ycck, 4)]

Loading…
Cancel
Save