Browse Source

Initial tests

pull/2633/head
Ynse Hoornenborg 2 years ago
parent
commit
028e8a5dbf
  1. 42
      tests/ImageSharp.Tests/Formats/Heic/HeicDecoderTests.cs
  2. 32
      tests/ImageSharp.Tests/Formats/Heic/HeicEncoderTests.cs

42
tests/ImageSharp.Tests/Formats/Heic/HeicDecoderTests.cs

@ -0,0 +1,42 @@
// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
using SixLabors.ImageSharp.Formats.Heic;
using SixLabors.ImageSharp.PixelFormats;
namespace SixLabors.ImageSharp.Tests.Formats.Heic;
[Trait("Format", "Heic")]
[ValidateDisposedMemoryAllocations]
public class HeicDecoderTests
{
[Theory]
[InlineData(TestImages.Heic.Image1)]
[InlineData(TestImages.Heic.Sample640x427)]
public void Identify(string imagePath)
{
TestFile testFile = TestFile.Create(imagePath);
using MemoryStream stream = new(testFile.Bytes, false);
ImageInfo imageInfo = Image.Identify(stream);
HeicMetadata heicMetadata = imageInfo.Metadata.GetHeicMetadata();
Assert.NotNull(imageInfo);
Assert.Equal(imageInfo.Metadata.DecodedImageFormat, HeicFormat.Instance);
//Assert.Equal(heicMetadata.Channels, channels);
}
[Theory]
[WithFile(TestImages.Heic.Image1, PixelTypes.Rgba32)]
[WithFile(TestImages.Heic.Sample640x427, PixelTypes.Rgba32)]
public void Decode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : unmanaged, IPixel<TPixel>
{
using Image<TPixel> image = provider.GetImage();
HeicMetadata qoiMetadata = image.Metadata.GetHeicMetadata();
image.DebugSave(provider);
image.CompareToReferenceOutput(provider);
//Assert.Equal(heicMetadata.Channels, channels);
}
}

32
tests/ImageSharp.Tests/Formats/Heic/HeicEncoderTests.cs

@ -0,0 +1,32 @@
// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
using SixLabors.ImageSharp.Formats.Heic;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs;
namespace SixLabors.ImageSharp.Tests.Formats.Heic;
[Trait("Format", "Heic")]
[ValidateDisposedMemoryAllocations]
public class HeicEncoderTests
{
[Theory]
[WithFile(TestImages.Heic.Sample640x427, PixelTypes.Rgba32)]
public static void Encode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : unmanaged, IPixel<TPixel>
{
using Image<TPixel> image = provider.GetImage(new MagickReferenceDecoder());
using MemoryStream stream = new();
HeicEncoder encoder = new();
image.Save(stream, encoder);
stream.Position = 0;
using Image<TPixel> encodedImage = (Image<TPixel>)Image.Load(stream);
HeicMetadata heicMetadata = encodedImage.Metadata.GetHeicMetadata();
ImageComparer.Exact.CompareImages(image, encodedImage);
//Assert.Equal(heicMetadata.Channels, channels);
}
}
Loading…
Cancel
Save