Browse Source

Use MagickReference decoder for exr decoding tests

pull/3096/head
Brian Popow 4 months ago
parent
commit
faf87fbe16
  1. 13
      tests/ImageSharp.Tests/Formats/Exr/ExrDecoderTests.cs
  2. 4
      tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs

13
tests/ImageSharp.Tests/Formats/Exr/ExrDecoderTests.cs

@ -3,6 +3,7 @@
using SixLabors.ImageSharp.Formats.Exr;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs;
namespace SixLabors.ImageSharp.Tests.Formats.Exr;
@ -10,6 +11,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Exr;
[ValidateDisposedMemoryAllocations]
public class ExrDecoderTests
{
private static MagickReferenceDecoder ReferenceDecoder => MagickReferenceDecoder.Exr;
[Theory]
[WithFile(TestImages.Exr.Uncompressed, PixelTypes.Rgba32)]
public void ExrDecoder_CanDecode_Uncompressed<TPixel>(TestImageProvider<TPixel> provider)
@ -17,7 +20,7 @@ public class ExrDecoderTests
{
using Image<TPixel> image = provider.GetImage(ExrDecoder.Instance);
image.DebugSave(provider);
image.CompareToOriginal(provider);
image.CompareToOriginal(provider, ReferenceDecoder);
}
[Theory]
@ -27,7 +30,7 @@ public class ExrDecoderTests
{
using Image<TPixel> image = provider.GetImage(ExrDecoder.Instance);
image.DebugSave(provider);
image.CompareToOriginal(provider);
image.CompareToOriginal(provider, ReferenceDecoder);
}
[Theory]
@ -37,7 +40,7 @@ public class ExrDecoderTests
{
using Image<TPixel> image = provider.GetImage(ExrDecoder.Instance);
image.DebugSave(provider);
image.CompareToOriginal(provider);
image.CompareToOriginal(provider, ReferenceDecoder);
}
[Theory]
@ -47,7 +50,7 @@ public class ExrDecoderTests
{
using Image<TPixel> image = provider.GetImage(ExrDecoder.Instance);
image.DebugSave(provider);
image.CompareToOriginal(provider);
image.CompareToOriginal(provider, ReferenceDecoder);
}
[Theory]
@ -57,6 +60,6 @@ public class ExrDecoderTests
{
using Image<TPixel> image = provider.GetImage(ExrDecoder.Instance);
image.DebugSave(provider);
image.CompareToOriginal(provider);
image.CompareToOriginal(provider, ReferenceDecoder);
}
}

4
tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs

@ -6,6 +6,7 @@ using ImageMagick;
using ImageMagick.Formats;
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Bmp;
using SixLabors.ImageSharp.Formats.Exr;
using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.Formats.Tiff;
@ -42,6 +43,8 @@ public class MagickReferenceDecoder : ImageDecoder
public static MagickReferenceDecoder WebP { get; } = new(WebpFormat.Instance);
public static MagickReferenceDecoder Exr { get; } = new(ExrFormat.Instance);
protected override Image<TPixel> Decode<TPixel>(DecoderOptions options, Stream stream, CancellationToken cancellationToken)
{
ImageMetadata metadata = new();
@ -118,6 +121,7 @@ public class MagickReferenceDecoder : ImageDecoder
PixelType = metadata.GetDecodedPixelTypeInfo()
};
}
private static void FromRgba32Bytes<TPixel>(
Configuration configuration,
Span<byte> rgbaBytes,

Loading…
Cancel
Save