mirror of https://github.com/SixLabors/ImageSharp
6 changed files with 89 additions and 62 deletions
@ -0,0 +1,70 @@ |
|||||
|
// Copyright (c) Six Labors.
|
||||
|
// Licensed under the Six Labors Split License.
|
||||
|
|
||||
|
using SixLabors.ImageSharp.Formats.Exr; |
||||
|
using SixLabors.ImageSharp.Formats.Exr.Constants; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Formats.Exr; |
||||
|
|
||||
|
[Trait("Format", "Exr")] |
||||
|
public class ExrMetadataTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CloneIsDeep() |
||||
|
{ |
||||
|
ExrMetadata meta = new() |
||||
|
{ ImageDataType = ExrImageDataType.Rgb, PixelType = ExrPixelType.Half }; |
||||
|
ExrMetadata clone = (ExrMetadata)meta.DeepClone(); |
||||
|
|
||||
|
clone.ImageDataType = ExrImageDataType.Gray; |
||||
|
clone.PixelType = ExrPixelType.Float; |
||||
|
|
||||
|
Assert.False(meta.ImageDataType.Equals(clone.ImageDataType)); |
||||
|
Assert.False(meta.PixelType.Equals(clone.PixelType)); |
||||
|
} |
||||
|
|
||||
|
[Theory] |
||||
|
[InlineData(TestImages.Exr.Uncompressed, 199, 297)] |
||||
|
public void Identify_DetectsCorrectWidthAndHeight<TPixel>(string imagePath, int expectedWidth, int expectedHeight) |
||||
|
{ |
||||
|
TestFile testFile = TestFile.Create(imagePath); |
||||
|
using MemoryStream stream = new(testFile.Bytes, false); |
||||
|
ImageInfo imageInfo = Image.Identify(stream); |
||||
|
|
||||
|
Assert.NotNull(imageInfo); |
||||
|
Assert.Equal(expectedWidth, imageInfo.Width); |
||||
|
Assert.Equal(expectedHeight, imageInfo.Height); |
||||
|
} |
||||
|
|
||||
|
[Theory] |
||||
|
[InlineData(TestImages.Exr.Uncompressed, ExrPixelType.Half)] |
||||
|
[InlineData(TestImages.Exr.UncompressedFloatRgb, ExrPixelType.Float)] |
||||
|
[InlineData(TestImages.Exr.UncompressedUintRgb, ExrPixelType.UnsignedInt)] |
||||
|
public void Identify_DetectsCorrectPixelType(string imagePath, ExrPixelType expectedPixelType) |
||||
|
{ |
||||
|
TestFile testFile = TestFile.Create(imagePath); |
||||
|
using MemoryStream stream = new(testFile.Bytes, false); |
||||
|
ImageInfo imageInfo = Image.Identify(stream); |
||||
|
|
||||
|
Assert.NotNull(imageInfo); |
||||
|
ExrMetadata metadata = imageInfo.Metadata.GetExrMetadata(); |
||||
|
Assert.NotNull(metadata); |
||||
|
Assert.Equal(expectedPixelType, metadata.PixelType); |
||||
|
} |
||||
|
|
||||
|
[Theory] |
||||
|
[InlineData(TestImages.Exr.UncompressedRgba, ExrImageDataType.Rgba)] |
||||
|
[InlineData(TestImages.Exr.Rgb, ExrImageDataType.Rgb)] |
||||
|
[InlineData(TestImages.Exr.Gray, ExrImageDataType.Gray)] |
||||
|
public void Identify_DetectsCorrectImageDataType(string imagePath, ExrImageDataType expectedImageDataType) |
||||
|
{ |
||||
|
TestFile testFile = TestFile.Create(imagePath); |
||||
|
using MemoryStream stream = new(testFile.Bytes, false); |
||||
|
ImageInfo imageInfo = Image.Identify(stream); |
||||
|
|
||||
|
Assert.NotNull(imageInfo); |
||||
|
ExrMetadata metadata = imageInfo.Metadata.GetExrMetadata(); |
||||
|
Assert.NotNull(metadata); |
||||
|
Assert.Equal(expectedImageDataType, metadata.ImageDataType); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,3 @@ |
|||||
|
version https://git-lfs.github.com/spec/v1 |
||||
|
oid sha256:8e9f6b5afa3c10c895ba67b51568295be40c2b1057224437600028487c581291 |
||||
|
size 481899 |
||||
Loading…
Reference in new issue