Browse Source

Add ICC reader tests

pull/1567/head
Brian Popow 3 years ago
parent
commit
10bea860ec
  1. 5
      tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTests.cs
  2. 22
      tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs

5
tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTests.cs

@ -9,8 +9,5 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader;
public class IccDataReaderTests
{
[Fact]
public void ConstructorThrowsNullException()
{
Assert.Throws<ArgumentNullException>(() => new IccDataReader(null));
}
public void ConstructorThrowsNullException() => Assert.Throws<ArgumentNullException>(() => new IccDataReader(null));
}

22
tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs

@ -2,6 +2,7 @@
// Licensed under the Six Labors Split License.
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.TestDataIcc;
namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc;
@ -9,6 +10,27 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc;
[Trait("Profile", "Icc")]
public class IccReaderTests
{
[Theory]
[WithFile(TestImages.Jpeg.ICC.AdobeRgb, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 560)]
[WithFile(TestImages.Jpeg.ICC.AppleRGB, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 552)]
[WithFile(TestImages.Jpeg.ICC.ColorMatch, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 560)]
[WithFile(TestImages.Jpeg.ICC.WideRGB, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 560)]
[WithFile(TestImages.Jpeg.ICC.SRgb, PixelTypes.Rgb24, 17, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 3144)]
[WithFile(TestImages.Jpeg.ICC.ProPhoto, PixelTypes.Rgb24, 12, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 940)]
[WithFile(TestImages.Jpeg.ICC.CMYK, PixelTypes.Rgb24, 10, IccColorSpaceType.Cmyk, IccColorSpaceType.CieLab, 557168)]
public void ReadProfile_Works<TPixel>(TestImageProvider<TPixel> provider, int expectedEntries, IccColorSpaceType expectedDataColorSpace, IccColorSpaceType expectedConnectionSpace, uint expectedDataSize)
where TPixel : unmanaged, IPixel<TPixel>
{
using Image<TPixel> image = provider.GetImage();
IccProfile profile = image.Metadata.IccProfile;
Assert.NotNull(profile);
Assert.Equal(expectedEntries, profile.Entries.Length);
Assert.Equal(expectedDataColorSpace, profile.Header.DataColorSpace);
Assert.Equal(expectedConnectionSpace, profile.Header.ProfileConnectionSpace);
Assert.Equal(expectedDataSize, profile.Header.Size);
}
[Fact]
public void ReadProfile_NoEntries()
{

Loading…
Cancel
Save