From d229fed8a43a330f5091c23a51eccbc3a84e2e07 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Nov 2022 21:02:15 +0100 Subject: [PATCH] Fix icc namespaces --- .../Formats/Jpg/JpegEncoderTests.Metadata.cs | 1 + .../DataReader/IccDataReaderCurvesTests.cs | 1 + .../ICC/DataReader/IccDataReaderLutTests.cs | 1 + .../DataReader/IccDataReaderMatrixTests.cs | 6 +- .../IccDataReaderMultiProcessElementTests.cs | 1 + .../IccDataReaderNonPrimitivesTests.cs | 1 + .../IccDataReaderPrimitivesTests.cs | 1 + .../IccDataReaderTagDataEntryTests.cs | 1 + .../DataWriter/IccDataWriterCurvesTests.cs | 6 +- .../ICC/DataWriter/IccDataWriterLutTests.cs | 6 +- .../ICC/DataWriter/IccDataWriterLutTests1.cs | 6 +- .../ICC/DataWriter/IccDataWriterLutTests2.cs | 6 +- .../DataWriter/IccDataWriterMatrixTests.cs | 6 +- .../IccDataWriterMultiProcessElementTests.cs | 6 +- .../IccDataWriterNonPrimitivesTests.cs | 6 +- .../IccDataWriterPrimitivesTests.cs | 6 +- .../IccDataWriterTagDataEntryTests.cs | 6 +- .../ICC/DataWriter/IccDataWriterTests.cs | 6 +- .../Metadata/Profiles/ICC/IccProfileTests.cs | 1 + .../Metadata/Profiles/ICC/IccReaderTests.cs | 1 + .../Metadata/Profiles/ICC/IccWriterTests.cs | 1 + .../Conversion/IccConversionDataClut.cs | 307 +++++++++--------- .../Conversion/IccConversionDataLut.cs | 41 ++- .../Conversion/IccConversionDataLutAB.cs | 79 +++-- .../Conversion/IccConversionDataLutEntry.cs | 95 +++--- .../Conversion/IccConversionDataMatrix.cs | 85 +++-- .../IccConversionDataMultiProcessElement.cs | 113 +++---- .../Conversion/IccConversionDataTrc.cs | 123 ++++--- .../TestDataIcc/IccTestDataArray.cs | 2 +- .../TestDataIcc/IccTestDataCurves.cs | 2 +- .../TestDataIcc/IccTestDataLut.cs | 2 +- .../TestDataIcc/IccTestDataMatrix.cs | 4 +- .../IccTestDataMultiProcessElements.cs | 2 +- .../TestDataIcc/IccTestDataNonPrimitives.cs | 2 +- .../TestDataIcc/IccTestDataPrimitives.cs | 2 +- .../TestDataIcc/IccTestDataProfiles.cs | 2 +- .../TestDataIcc/IccTestDataTagDataEntry.cs | 3 +- 37 files changed, 460 insertions(+), 480 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs index 404c11e7d..6e5ae192a 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs @@ -7,6 +7,7 @@ using SixLabors.ImageSharp.Metadata.Profiles.Exif; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Iptc; using SixLabors.ImageSharp.PixelFormats; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Formats.Jpg; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs index 73ae46c2c..86c6a5e9f 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs index 63585a3bd..a686d4487 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs index 86e1b7386..5ef102cd9 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader; @@ -30,8 +31,5 @@ public class IccDataReaderMatrixTests Assert.Equal(expected, output); } - private static IccDataReader CreateReader(byte[] data) - { - return new IccDataReader(data); - } + private static IccDataReader CreateReader(byte[] data) => new(data); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs index 9023b1b72..930665a07 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs index 91294a3da..ee0464bb2 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs @@ -3,6 +3,7 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs index b6135cd19..9c5be4c67 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs index 07e3e5bfb..e0cfa6543 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs index 1a23c8d00..f6ac8517d 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -80,8 +81,5 @@ public class IccDataWriterCurvesTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new IccDataWriter(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs index 4a3dc48bc..8f696e99d 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -80,8 +81,5 @@ public class IccDataWriterLutTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new IccDataWriter(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs index 1973d94b8..9317b4503 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -80,8 +81,5 @@ public class IccDataWriterLutTests1 Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs index 4ffc9e0c3..147a332c3 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -80,8 +81,5 @@ public class IccDataWriterLutTests2 Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs index ac2cc0ff6..c72d4386a 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs @@ -3,6 +3,7 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -69,8 +70,5 @@ public class IccDataWriterMatrixTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs index ba2add5eb..b7259d536 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -56,8 +57,5 @@ public class IccDataWriterMultiProcessElementTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs index b17ed4441..b1b30d49f 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs @@ -3,6 +3,7 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -117,8 +118,5 @@ public class IccDataWriterNonPrimitivesTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs index fbe8fe1ce..c8f46d3aa 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -112,8 +113,5 @@ public class IccDataWriterPrimitivesTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs index eb613a675..791bcee5e 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -404,8 +405,5 @@ public class IccDataWriterTagDataEntryTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs index 205941fce..606a69d39 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter; @@ -105,8 +106,5 @@ public class IccDataWriterTests Assert.Equal(expected, output); } - private static IccDataWriter CreateWriter() - { - return new IccDataWriter(); - } + private static IccDataWriter CreateWriter() => new(); } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs index 34044d245..9c4abfe3e 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs index d999871be..3e3a2513a 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs +++ b/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.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs index 3aa032bbb..24671aa3c 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. using SixLabors.ImageSharp.Metadata.Profiles.Icc; +using SixLabors.ImageSharp.Tests.TestDataIcc; namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc; diff --git a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataClut.cs b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataClut.cs index f24e02c78..dadbc5262 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataClut.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataClut.cs @@ -4,160 +4,159 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion +namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; + +public class IccConversionDataClut { - public class IccConversionDataClut - { - internal static IccClut Clut3x2 = new IccClut( - new[] - { - new[] { 0.1f, 0.1f }, - new[] { 0.2f, 0.2f }, - new[] { 0.3f, 0.3f }, - - new[] { 0.11f, 0.11f }, - new[] { 0.21f, 0.21f }, - new[] { 0.31f, 0.31f }, - - new[] { 0.12f, 0.12f }, - new[] { 0.22f, 0.22f }, - new[] { 0.32f, 0.32f }, - - new[] { 0.13f, 0.13f }, - new[] { 0.23f, 0.23f }, - new[] { 0.33f, 0.33f }, - - new[] { 0.14f, 0.14f }, - new[] { 0.24f, 0.24f }, - new[] { 0.34f, 0.34f }, - - new[] { 0.15f, 0.15f }, - new[] { 0.25f, 0.25f }, - new[] { 0.35f, 0.35f }, - - new[] { 0.16f, 0.16f }, - new[] { 0.26f, 0.26f }, - new[] { 0.36f, 0.36f }, - - new[] { 0.17f, 0.17f }, - new[] { 0.27f, 0.27f }, - new[] { 0.37f, 0.37f }, - - new[] { 0.18f, 0.18f }, - new[] { 0.28f, 0.28f }, - new[] { 0.38f, 0.38f }, - }, - new byte[] { 3, 3, 3 }, - IccClutDataType.Float); - - internal static IccClut Clut3x1 = new IccClut( - new[] - { - new[] { 0.10f }, - new[] { 0.20f }, - new[] { 0.30f }, - - new[] { 0.11f }, - new[] { 0.21f }, - new[] { 0.31f }, - - new[] { 0.12f }, - new[] { 0.22f }, - new[] { 0.32f }, - - new[] { 0.13f }, - new[] { 0.23f }, - new[] { 0.33f }, - - new[] { 0.14f }, - new[] { 0.24f }, - new[] { 0.34f }, - - new[] { 0.15f }, - new[] { 0.25f }, - new[] { 0.35f }, - - new[] { 0.16f }, - new[] { 0.26f }, - new[] { 0.36f }, - - new[] { 0.17f }, - new[] { 0.27f }, - new[] { 0.37f }, - - new[] { 0.18f }, - new[] { 0.28f }, - new[] { 0.38f }, - }, - new byte[] { 3, 3, 3 }, - IccClutDataType.Float); - - internal static IccClut Clut2x2 = new IccClut( - new[] - { - new[] { 0.1f, 0.9f }, - new[] { 0.2f, 0.8f }, - new[] { 0.3f, 0.7f }, - - new[] { 0.4f, 0.6f }, - new[] { 0.5f, 0.5f }, - new[] { 0.6f, 0.4f }, - - new[] { 0.7f, 0.3f }, - new[] { 0.8f, 0.2f }, - new[] { 0.9f, 0.1f }, - }, - new byte[] { 3, 3 }, - IccClutDataType.Float); - - internal static IccClut Clut2x1 = new IccClut( - new[] - { - new[] { 0.1f }, - new[] { 0.2f }, - new[] { 0.3f }, - - new[] { 0.4f }, - new[] { 0.5f }, - new[] { 0.6f }, - - new[] { 0.7f }, - new[] { 0.8f }, - new[] { 0.9f }, - }, - new byte[] { 3, 3 }, - IccClutDataType.Float); - - internal static IccClut Clut1x2 = new IccClut( - new[] - { - new[] { 0f, 0.5f }, - new[] { 0.25f, 0.75f, }, - new[] { 0.5f, 1f }, - }, - new byte[] { 3 }, - IccClutDataType.Float); - - internal static IccClut Clut1x1 = new IccClut( - new[] - { - new[] { 0f }, - new[] { 0.5f }, - new[] { 1f }, - }, - new byte[] { 3 }, - IccClutDataType.Float); - - public static object[][] ClutConversionTestData = + internal static IccClut Clut3x2 = new( + new[] + { + new[] { 0.1f, 0.1f }, + new[] { 0.2f, 0.2f }, + new[] { 0.3f, 0.3f }, + + new[] { 0.11f, 0.11f }, + new[] { 0.21f, 0.21f }, + new[] { 0.31f, 0.31f }, + + new[] { 0.12f, 0.12f }, + new[] { 0.22f, 0.22f }, + new[] { 0.32f, 0.32f }, + + new[] { 0.13f, 0.13f }, + new[] { 0.23f, 0.23f }, + new[] { 0.33f, 0.33f }, + + new[] { 0.14f, 0.14f }, + new[] { 0.24f, 0.24f }, + new[] { 0.34f, 0.34f }, + + new[] { 0.15f, 0.15f }, + new[] { 0.25f, 0.25f }, + new[] { 0.35f, 0.35f }, + + new[] { 0.16f, 0.16f }, + new[] { 0.26f, 0.26f }, + new[] { 0.36f, 0.36f }, + + new[] { 0.17f, 0.17f }, + new[] { 0.27f, 0.27f }, + new[] { 0.37f, 0.37f }, + + new[] { 0.18f, 0.18f }, + new[] { 0.28f, 0.28f }, + new[] { 0.38f, 0.38f }, + }, + new byte[] { 3, 3, 3 }, + IccClutDataType.Float); + + internal static IccClut Clut3x1 = new( + new[] + { + new[] { 0.10f }, + new[] { 0.20f }, + new[] { 0.30f }, + + new[] { 0.11f }, + new[] { 0.21f }, + new[] { 0.31f }, + + new[] { 0.12f }, + new[] { 0.22f }, + new[] { 0.32f }, + + new[] { 0.13f }, + new[] { 0.23f }, + new[] { 0.33f }, + + new[] { 0.14f }, + new[] { 0.24f }, + new[] { 0.34f }, + + new[] { 0.15f }, + new[] { 0.25f }, + new[] { 0.35f }, + + new[] { 0.16f }, + new[] { 0.26f }, + new[] { 0.36f }, + + new[] { 0.17f }, + new[] { 0.27f }, + new[] { 0.37f }, + + new[] { 0.18f }, + new[] { 0.28f }, + new[] { 0.38f }, + }, + new byte[] { 3, 3, 3 }, + IccClutDataType.Float); + + internal static IccClut Clut2x2 = new( + new[] { - new object[] { Clut3x2, new Vector4(0.75f, 0.75f, 0.75f, 0), new Vector4(0.31f, 0.31f, 0, 0) }, - new object[] { Clut3x1, new Vector4(0.2f, 0.6f, 0.8f, 0), new Vector4(0.276f, 0, 0, 0) }, - new object[] { Clut3x1, new Vector4(0.75f, 0.75f, 0.75f, 0), new Vector4(0.31f, 0, 0, 0) }, - new object[] { Clut2x2, new Vector4(0.2f, 0.6f, 0, 0), new Vector4(0.46f, 0.54f, 0, 0) }, - new object[] { Clut2x2, new Vector4(0.25f, 0.75f, 0, 0), new Vector4(0.4f, 0.6f, 0, 0) }, - new object[] { Clut2x1, new Vector4(0.25f, 0.75f, 0, 0), new Vector4(0.4f, 0, 0, 0) }, - new object[] { Clut1x2, new Vector4(0.25f, 0, 0, 0), new Vector4(0.125f, 0.625f, 0, 0) }, - new object[] { Clut1x1, new Vector4(0.25f, 0, 0, 0), new Vector4(0.25f, 0, 0, 0) }, - }; - } + new[] { 0.1f, 0.9f }, + new[] { 0.2f, 0.8f }, + new[] { 0.3f, 0.7f }, + + new[] { 0.4f, 0.6f }, + new[] { 0.5f, 0.5f }, + new[] { 0.6f, 0.4f }, + + new[] { 0.7f, 0.3f }, + new[] { 0.8f, 0.2f }, + new[] { 0.9f, 0.1f }, + }, + new byte[] { 3, 3 }, + IccClutDataType.Float); + + internal static IccClut Clut2x1 = new( + new[] + { + new[] { 0.1f }, + new[] { 0.2f }, + new[] { 0.3f }, + + new[] { 0.4f }, + new[] { 0.5f }, + new[] { 0.6f }, + + new[] { 0.7f }, + new[] { 0.8f }, + new[] { 0.9f }, + }, + new byte[] { 3, 3 }, + IccClutDataType.Float); + + internal static IccClut Clut1x2 = new( + new[] + { + new[] { 0f, 0.5f }, + new[] { 0.25f, 0.75f, }, + new[] { 0.5f, 1f }, + }, + new byte[] { 3 }, + IccClutDataType.Float); + + internal static IccClut Clut1x1 = new( + new[] + { + new[] { 0f }, + new[] { 0.5f }, + new[] { 1f }, + }, + new byte[] { 3 }, + IccClutDataType.Float); + + public static object[][] ClutConversionTestData = + { + new object[] { Clut3x2, new Vector4(0.75f, 0.75f, 0.75f, 0), new Vector4(0.31f, 0.31f, 0, 0) }, + new object[] { Clut3x1, new Vector4(0.2f, 0.6f, 0.8f, 0), new Vector4(0.276f, 0, 0, 0) }, + new object[] { Clut3x1, new Vector4(0.75f, 0.75f, 0.75f, 0), new Vector4(0.31f, 0, 0, 0) }, + new object[] { Clut2x2, new Vector4(0.2f, 0.6f, 0, 0), new Vector4(0.46f, 0.54f, 0, 0) }, + new object[] { Clut2x2, new Vector4(0.25f, 0.75f, 0, 0), new Vector4(0.4f, 0.6f, 0, 0) }, + new object[] { Clut2x1, new Vector4(0.25f, 0.75f, 0, 0), new Vector4(0.4f, 0, 0, 0) }, + new object[] { Clut1x2, new Vector4(0.25f, 0, 0, 0), new Vector4(0.125f, 0.625f, 0, 0) }, + new object[] { Clut1x1, new Vector4(0.25f, 0, 0, 0), new Vector4(0.25f, 0, 0, 0) }, + }; } diff --git a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLut.cs b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLut.cs index 9e48fcc28..e910038ef 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLut.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLut.cs @@ -1,31 +1,30 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. -namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion +namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; + +public class IccConversionDataLut { - public class IccConversionDataLut - { - private static readonly float[] LutEven = { 0, 0.5f, 1 }; + private static readonly float[] LutEven = { 0, 0.5f, 1 }; - private static readonly float[] LutUneven = { 0, 0.7f, 1 }; + private static readonly float[] LutUneven = { 0, 0.7f, 1 }; - public static object[][] LutConversionTestData = - { - new object[] { LutEven, false, 0.5f, 0.5f }, - new object[] { LutEven, false, 0.25f, 0.25f }, - new object[] { LutEven, false, 0.75f, 0.75f }, + public static object[][] LutConversionTestData = + { + new object[] { LutEven, false, 0.5f, 0.5f }, + new object[] { LutEven, false, 0.25f, 0.25f }, + new object[] { LutEven, false, 0.75f, 0.75f }, - new object[] { LutEven, true, 0.5f, 0.5f }, - new object[] { LutEven, true, 0.25f, 0.25f }, - new object[] { LutEven, true, 0.75f, 0.75f }, + new object[] { LutEven, true, 0.5f, 0.5f }, + new object[] { LutEven, true, 0.25f, 0.25f }, + new object[] { LutEven, true, 0.75f, 0.75f }, - new object[] { LutUneven, false, 0.1, 0.14 }, - new object[] { LutUneven, false, 0.5, 0.7 }, - new object[] { LutUneven, false, 0.75, 0.85 }, + new object[] { LutUneven, false, 0.1, 0.14 }, + new object[] { LutUneven, false, 0.5, 0.7 }, + new object[] { LutUneven, false, 0.75, 0.85 }, - new object[] { LutUneven, true, 0.14, 0.1 }, - new object[] { LutUneven, true, 0.7, 0.5 }, - new object[] { LutUneven, true, 0.85, 0.75 }, - }; - } + new object[] { LutUneven, true, 0.14, 0.1 }, + new object[] { LutUneven, true, 0.7, 0.5 }, + new object[] { LutUneven, true, 0.85, 0.75 }, + }; } diff --git a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutAB.cs b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutAB.cs index b8f4c8d1e..02fc23735 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutAB.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutAB.cs @@ -4,48 +4,47 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion +namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; + +public class IccConversionDataLutAB { - public class IccConversionDataLutAB - { - private static readonly IccLutAToBTagDataEntry LutAtoBSingleCurve = new IccLutAToBTagDataEntry( - new IccTagDataEntry[] - { - IccConversionDataTrc.IdentityCurve, - IccConversionDataTrc.IdentityCurve, - IccConversionDataTrc.IdentityCurve - }, - null, - null, - null, - null, - null); + private static readonly IccLutAToBTagDataEntry LutAtoBSingleCurve = new( + new IccTagDataEntry[] + { + IccConversionDataTrc.IdentityCurve, + IccConversionDataTrc.IdentityCurve, + IccConversionDataTrc.IdentityCurve + }, + null, + null, + null, + null, + null); - // also need: - // # CurveM + matrix - // # CurveA + CLUT + CurveB - // # CurveA + CLUT + CurveM + Matrix + CurveB - private static readonly IccLutBToATagDataEntry LutBtoASingleCurve = new IccLutBToATagDataEntry( - new IccTagDataEntry[] - { - IccConversionDataTrc.IdentityCurve, - IccConversionDataTrc.IdentityCurve, - IccConversionDataTrc.IdentityCurve - }, - null, - null, - null, - null, - null); + // also need: + // # CurveM + matrix + // # CurveA + CLUT + CurveB + // # CurveA + CLUT + CurveM + Matrix + CurveB + private static readonly IccLutBToATagDataEntry LutBtoASingleCurve = new( + new IccTagDataEntry[] + { + IccConversionDataTrc.IdentityCurve, + IccConversionDataTrc.IdentityCurve, + IccConversionDataTrc.IdentityCurve + }, + null, + null, + null, + null, + null); - public static object[][] LutAToBConversionTestData = - { - new object[] { LutAtoBSingleCurve, new Vector4(0.2f, 0.3f, 0.4f, 0), new Vector4(0.2f, 0.3f, 0.4f, 0) }, - }; + public static object[][] LutAToBConversionTestData = + { + new object[] { LutAtoBSingleCurve, new Vector4(0.2f, 0.3f, 0.4f, 0), new Vector4(0.2f, 0.3f, 0.4f, 0) }, + }; - public static object[][] LutBToAConversionTestData = - { - new object[] { LutBtoASingleCurve, new Vector4(0.2f, 0.3f, 0.4f, 0), new Vector4(0.2f, 0.3f, 0.4f, 0) }, - }; - } + public static object[][] LutBToAConversionTestData = + { + new object[] { LutBtoASingleCurve, new Vector4(0.2f, 0.3f, 0.4f, 0), new Vector4(0.2f, 0.3f, 0.4f, 0) }, + }; } diff --git a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutEntry.cs b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutEntry.cs index 03c3355a3..cdffe3c23 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutEntry.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataLutEntry.cs @@ -4,59 +4,58 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion +namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; + +public class IccConversionDataLutEntry { - public class IccConversionDataLutEntry + private static readonly IccLut Lut256 = CreateLut(256); + private static readonly IccLut Lut32 = CreateLut(32); + private static readonly IccLut LutIdentity = CreateIdentityLut(0, 1); + + private static readonly IccLut8TagDataEntry Lut8 = new( + new[] { Lut256, Lut256 }, + IccConversionDataClut.Clut2x1, + new[] { Lut256 }); + + private static readonly IccLut16TagDataEntry Lut16 = new( + new[] { Lut32, Lut32 }, + IccConversionDataClut.Clut2x1, + new[] { LutIdentity }); + + private static readonly IccLut8TagDataEntry Lut8Matrix = new( + IccConversionDataMatrix.Matrix3x3Random, + new[] { Lut256, Lut256, Lut256 }, + IccConversionDataClut.Clut3x1, + new[] { Lut256 }); + + private static readonly IccLut16TagDataEntry Lut16Matrix = new( + IccConversionDataMatrix.Matrix3x3Random, + new[] { Lut32, Lut32, Lut32 }, + IccConversionDataClut.Clut3x1, + new[] { LutIdentity }); + + private static IccLut CreateLut(int length) { - private static readonly IccLut Lut256 = CreateLut(256); - private static readonly IccLut Lut32 = CreateLut(32); - private static readonly IccLut LutIdentity = CreateIdentityLut(0, 1); - - private static readonly IccLut8TagDataEntry Lut8 = new IccLut8TagDataEntry( - new[] { Lut256, Lut256 }, - IccConversionDataClut.Clut2x1, - new[] { Lut256 }); - - private static readonly IccLut16TagDataEntry Lut16 = new IccLut16TagDataEntry( - new[] { Lut32, Lut32 }, - IccConversionDataClut.Clut2x1, - new[] { LutIdentity }); - - private static readonly IccLut8TagDataEntry Lut8Matrix = new IccLut8TagDataEntry( - IccConversionDataMatrix.Matrix3x3Random, - new[] { Lut256, Lut256, Lut256 }, - IccConversionDataClut.Clut3x1, - new[] { Lut256 }); - - private static readonly IccLut16TagDataEntry Lut16Matrix = new IccLut16TagDataEntry( - IccConversionDataMatrix.Matrix3x3Random, - new[] { Lut32, Lut32, Lut32 }, - IccConversionDataClut.Clut3x1, - new[] { LutIdentity }); - - private static IccLut CreateLut(int length) + float[] values = new float[length]; + for (int i = 0; i < values.Length; i++) { - float[] values = new float[length]; - for (int i = 0; i < values.Length; i++) - { - values[i] = 0.1f + (i / (float)length); - } - - return new IccLut(values); + values[i] = 0.1f + (i / (float)length); } - private static IccLut CreateIdentityLut(float min, float max) => new IccLut(new[] { min, max }); + return new IccLut(values); + } - public static object[][] Lut8ConversionTestData = - { - new object[] { Lut8, new Vector4(0.2f, 0.3f, 0, 0), new Vector4(0.339762866f, 0, 0, 0) }, - new object[] { Lut8Matrix, new Vector4(0.21f, 0.31f, 0.41f, 0), new Vector4(0.431305826f, 0, 0, 0) }, - }; + private static IccLut CreateIdentityLut(float min, float max) => new(new[] { min, max }); - public static object[][] Lut16ConversionTestData = - { - new object[] { Lut16, new Vector4(0.2f, 0.3f, 0, 0), new Vector4(0.245625019f, 0, 0, 0) }, - new object[] { Lut16Matrix, new Vector4(0.21f, 0.31f, 0.41f, 0), new Vector4(0.336980581f, 0, 0, 0) }, - }; - } + public static object[][] Lut8ConversionTestData = + { + new object[] { Lut8, new Vector4(0.2f, 0.3f, 0, 0), new Vector4(0.339762866f, 0, 0, 0) }, + new object[] { Lut8Matrix, new Vector4(0.21f, 0.31f, 0.41f, 0), new Vector4(0.431305826f, 0, 0, 0) }, + }; + + public static object[][] Lut16ConversionTestData = + { + new object[] { Lut16, new Vector4(0.2f, 0.3f, 0, 0), new Vector4(0.245625019f, 0, 0, 0) }, + new object[] { Lut16Matrix, new Vector4(0.21f, 0.31f, 0.41f, 0), new Vector4(0.336980581f, 0, 0, 0) }, + }; } diff --git a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMatrix.cs b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMatrix.cs index dcb48f3a4..f91c32df8 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMatrix.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMatrix.cs @@ -3,52 +3,51 @@ using System.Numerics; -namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion +namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; + +public class IccConversionDataMatrix { - public class IccConversionDataMatrix - { - private static readonly Vector3 Vector3Zero = new Vector3(0.0f, 0.0f, 0.0f); + private static readonly Vector3 Vector3Zero = new(0.0f, 0.0f, 0.0f); - public static float[,] Matrix3x3Random = - { - { 0.1f, 0.2f, 0.3f }, - { 0.4f, 0.5f, 0.6f }, - { 0.7f, 0.8f, 0.9f } - }; + public static float[,] Matrix3x3Random = + { + { 0.1f, 0.2f, 0.3f }, + { 0.4f, 0.5f, 0.6f }, + { 0.7f, 0.8f, 0.9f } + }; - public static float[,] Matrix3x3Identity = - { - { 1, 0, 0 }, - { 0, 1, 0 }, - { 0, 0, 1 } - }; + public static float[,] Matrix3x3Identity = + { + { 1, 0, 0 }, + { 0, 1, 0 }, + { 0, 0, 1 } + }; - public static object[][] MatrixConversionTestData = - { - new object[] { CreateMatrix(Matrix3x3Identity), Vector3Zero, new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.5f, 0.5f, 0.5f, 0) }, - new object[] { CreateMatrix(Matrix3x3Identity), new Vector3(0.2f, 0.2f, 0.2f), new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.7f, 0.7f, 0.7f, 0) }, - new object[] { CreateMatrix(Matrix3x3Random), Vector3Zero, new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.6f, 0.75f, 0.9f, 0) }, - new object[] { CreateMatrix(Matrix3x3Random), new Vector3(0.1f, 0.2f, 0.3f), new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.7f, 0.95f, 1.2f, 0) }, - new object[] { CreateMatrix(Matrix3x3Random), Vector3Zero, new Vector4(0.2f, 0.4f, 0.7f, 0), new Vector4(0.67f, 0.8f, 0.93f, 0) }, - new object[] { CreateMatrix(Matrix3x3Random), new Vector3(0.1f, 0.2f, 0.3f), new Vector4(0.2f, 0.4f, 0.7f, 0), new Vector4(0.77f, 1, 1.23f, 0) }, - }; + public static object[][] MatrixConversionTestData = + { + new object[] { CreateMatrix(Matrix3x3Identity), Vector3Zero, new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.5f, 0.5f, 0.5f, 0) }, + new object[] { CreateMatrix(Matrix3x3Identity), new Vector3(0.2f, 0.2f, 0.2f), new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.7f, 0.7f, 0.7f, 0) }, + new object[] { CreateMatrix(Matrix3x3Random), Vector3Zero, new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.6f, 0.75f, 0.9f, 0) }, + new object[] { CreateMatrix(Matrix3x3Random), new Vector3(0.1f, 0.2f, 0.3f), new Vector4(0.5f, 0.5f, 0.5f, 0), new Vector4(0.7f, 0.95f, 1.2f, 0) }, + new object[] { CreateMatrix(Matrix3x3Random), Vector3Zero, new Vector4(0.2f, 0.4f, 0.7f, 0), new Vector4(0.67f, 0.8f, 0.93f, 0) }, + new object[] { CreateMatrix(Matrix3x3Random), new Vector3(0.1f, 0.2f, 0.3f), new Vector4(0.2f, 0.4f, 0.7f, 0), new Vector4(0.77f, 1, 1.23f, 0) }, + }; - private static Matrix4x4 CreateMatrix(float[,] matrix) => new Matrix4x4( - matrix[0, 0], - matrix[0, 1], - matrix[0, 2], - 0, - matrix[1, 0], - matrix[1, 1], - matrix[1, 2], - 0, - matrix[2, 0], - matrix[2, 1], - matrix[2, 2], - 0, - 0, - 0, - 0, - 1); - } + private static Matrix4x4 CreateMatrix(float[,] matrix) => new( + matrix[0, 0], + matrix[0, 1], + matrix[0, 2], + 0, + matrix[1, 0], + matrix[1, 1], + matrix[1, 2], + 0, + matrix[2, 0], + matrix[2, 1], + matrix[2, 2], + 0, + 0, + 0, + 0, + 1); } diff --git a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMultiProcessElement.cs b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMultiProcessElement.cs index 2c3f2651e..3c3e576fe 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMultiProcessElement.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataMultiProcessElement.cs @@ -3,76 +3,77 @@ using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion +namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; + +public class IccConversionDataMultiProcessElement { - public class IccConversionDataMultiProcessElement + private static readonly IccMatrixProcessElement Matrix = new( + new float[,] { - private static readonly IccMatrixProcessElement Matrix = new IccMatrixProcessElement( - new float[,] - { - { 2, 4, 6 }, - { 3, 5, 7 }, - }, new float[] { 3, 4, 5 }); + { 2, 4, 6 }, + { 3, 5, 7 }, + }, + new float[] { 3, 4, 5 }); - private static readonly IccClut Clut = new IccClut( - new[] - { - new[] { 0.2f, 0.3f }, - new[] { 0.4f, 0.5f }, + private static readonly IccClut Clut = new( + new[] + { + new[] { 0.2f, 0.3f }, + new[] { 0.4f, 0.5f }, - new[] { 0.21f, 0.31f }, - new[] { 0.41f, 0.51f }, + new[] { 0.21f, 0.31f }, + new[] { 0.41f, 0.51f }, - new[] { 0.22f, 0.32f }, - new[] { 0.42f, 0.52f }, + new[] { 0.22f, 0.32f }, + new[] { 0.42f, 0.52f }, - new[] { 0.23f, 0.33f }, - new[] { 0.43f, 0.53f }, - }, new byte[] { 2, 2, 2 }, - IccClutDataType.Float); + new[] { 0.23f, 0.33f }, + new[] { 0.43f, 0.53f }, + }, + new byte[] { 2, 2, 2 }, + IccClutDataType.Float); - private static readonly IccFormulaCurveElement FormulaCurveElement1 = new IccFormulaCurveElement(IccFormulaCurveType.Type1, 2.2f, 0.7f, 0.2f, 0.3f, 0, 0); - private static readonly IccFormulaCurveElement FormulaCurveElement2 = new IccFormulaCurveElement(IccFormulaCurveType.Type2, 2.2f, 0.9f, 0.9f, 0.02f, 0.1f, 0); - private static readonly IccFormulaCurveElement FormulaCurveElement3 = new IccFormulaCurveElement(IccFormulaCurveType.Type3, 0, 0.9f, 0.9f, 1.02f, 0.1f, 0.02f); + private static readonly IccFormulaCurveElement FormulaCurveElement1 = new(IccFormulaCurveType.Type1, 2.2f, 0.7f, 0.2f, 0.3f, 0, 0); + private static readonly IccFormulaCurveElement FormulaCurveElement2 = new(IccFormulaCurveType.Type2, 2.2f, 0.9f, 0.9f, 0.02f, 0.1f, 0); + private static readonly IccFormulaCurveElement FormulaCurveElement3 = new(IccFormulaCurveType.Type3, 0, 0.9f, 0.9f, 1.02f, 0.1f, 0.02f); - private static readonly IccCurveSetProcessElement CurveSet1DFormula1 = Create1DSingleCurveSet(FormulaCurveElement1); - private static readonly IccCurveSetProcessElement CurveSet1DFormula2 = Create1DSingleCurveSet(FormulaCurveElement2); - private static readonly IccCurveSetProcessElement CurveSet1DFormula3 = Create1DSingleCurveSet(FormulaCurveElement3); + private static readonly IccCurveSetProcessElement CurveSet1DFormula1 = Create1DSingleCurveSet(FormulaCurveElement1); + private static readonly IccCurveSetProcessElement CurveSet1DFormula2 = Create1DSingleCurveSet(FormulaCurveElement2); + private static readonly IccCurveSetProcessElement CurveSet1DFormula3 = Create1DSingleCurveSet(FormulaCurveElement3); - private static readonly IccCurveSetProcessElement CurveSet1DFormula1And2 = Create1DMultiCurveSet(new[] { 0.5f }, FormulaCurveElement1, FormulaCurveElement2); + private static readonly IccCurveSetProcessElement CurveSet1DFormula1And2 = Create1DMultiCurveSet(new[] { 0.5f }, FormulaCurveElement1, FormulaCurveElement2); - private static readonly IccClutProcessElement ClutElement = new IccClutProcessElement(Clut); + private static readonly IccClutProcessElement ClutElement = new(Clut); - private static IccCurveSetProcessElement Create1DSingleCurveSet(IccCurveSegment segment) - { - var curve = new IccOneDimensionalCurve(new float[0], new[] { segment }); - return new IccCurveSetProcessElement(new[] { curve }); - } + private static IccCurveSetProcessElement Create1DSingleCurveSet(IccCurveSegment segment) + { + var curve = new IccOneDimensionalCurve(new float[0], new[] { segment }); + return new IccCurveSetProcessElement(new[] { curve }); + } - private static IccCurveSetProcessElement Create1DMultiCurveSet(float[] breakPoints, params IccCurveSegment[] segments) - { - var curve = new IccOneDimensionalCurve(breakPoints, segments); - return new IccCurveSetProcessElement(new[] { curve }); - } + private static IccCurveSetProcessElement Create1DMultiCurveSet(float[] breakPoints, params IccCurveSegment[] segments) + { + var curve = new IccOneDimensionalCurve(breakPoints, segments); + return new IccCurveSetProcessElement(new[] { curve }); + } - public static object[][] MpeCurveConversionTestData = - { - new object[] { CurveSet1DFormula1, new[] { 0.51f }, new[] { 0.575982451f } }, - new object[] { CurveSet1DFormula2, new[] { 0.52f }, new[] { -0.4684991f } }, - new object[] { CurveSet1DFormula3, new[] { 0.53f }, new[] { 0.86126f } }, + public static object[][] MpeCurveConversionTestData = + { + new object[] { CurveSet1DFormula1, new[] { 0.51f }, new[] { 0.575982451f } }, + new object[] { CurveSet1DFormula2, new[] { 0.52f }, new[] { -0.4684991f } }, + new object[] { CurveSet1DFormula3, new[] { 0.53f }, new[] { 0.86126f } }, - new object[] { CurveSet1DFormula1And2, new[] { 0.31f }, new[] { 0.445982f } }, - new object[] { CurveSet1DFormula1And2, new[] { 0.61f }, new[] { -0.341274023f } }, - }; + new object[] { CurveSet1DFormula1And2, new[] { 0.31f }, new[] { 0.445982f } }, + new object[] { CurveSet1DFormula1And2, new[] { 0.61f }, new[] { -0.341274023f } }, + }; - public static object[][] MpeMatrixConversionTestData = - { - new object[] { Matrix, new float[] { 2, 4 }, new float[] { 19, 32, 45 } } - }; + public static object[][] MpeMatrixConversionTestData = + { + new object[] { Matrix, new float[] { 2, 4 }, new float[] { 19, 32, 45 } } + }; - public static object[][] MpeClutConversionTestData = - { - new object[] { ClutElement, new[] { 0.5f, 0.5f, 0.5f }, new[] { 0.5f, 0.5f } } - }; - } + public static object[][] MpeClutConversionTestData = + { + new object[] { ClutElement, new[] { 0.5f, 0.5f, 0.5f }, new[] { 0.5f, 0.5f } } + }; } diff --git a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataTrc.cs b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataTrc.cs index ee20f5a0d..1536b2f95 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataTrc.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/Conversion/IccConversionDataTrc.cs @@ -4,74 +4,73 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion +namespace SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; + +public class IccConversionDataTrc { - public class IccConversionDataTrc - { - internal static IccCurveTagDataEntry IdentityCurve = new IccCurveTagDataEntry(); - internal static IccCurveTagDataEntry Gamma2Curve = new IccCurveTagDataEntry(2); - internal static IccCurveTagDataEntry LutCurve = new IccCurveTagDataEntry(new float[] { 0, 0.7f, 1 }); + internal static IccCurveTagDataEntry IdentityCurve = new(); + internal static IccCurveTagDataEntry Gamma2Curve = new(2); + internal static IccCurveTagDataEntry LutCurve = new(new float[] { 0, 0.7f, 1 }); - internal static IccParametricCurveTagDataEntry ParamCurve1 = new IccParametricCurveTagDataEntry(new IccParametricCurve(2.2f)); - internal static IccParametricCurveTagDataEntry ParamCurve2 = new IccParametricCurveTagDataEntry(new IccParametricCurve(2.2f, 1.5f, -0.5f)); - internal static IccParametricCurveTagDataEntry ParamCurve3 = new IccParametricCurveTagDataEntry(new IccParametricCurve(2.2f, 1.5f, -0.5f, 0.3f)); - internal static IccParametricCurveTagDataEntry ParamCurve4 = new IccParametricCurveTagDataEntry(new IccParametricCurve(2.4f, 1 / 1.055f, 0.055f / 1.055f, 1 / 12.92f, 0.04045f)); - internal static IccParametricCurveTagDataEntry ParamCurve5 = new IccParametricCurveTagDataEntry(new IccParametricCurve(2.2f, 0.7f, 0.2f, 0.3f, 0.1f, 0.5f, 0.2f)); + internal static IccParametricCurveTagDataEntry ParamCurve1 = new(new IccParametricCurve(2.2f)); + internal static IccParametricCurveTagDataEntry ParamCurve2 = new(new IccParametricCurve(2.2f, 1.5f, -0.5f)); + internal static IccParametricCurveTagDataEntry ParamCurve3 = new(new IccParametricCurve(2.2f, 1.5f, -0.5f, 0.3f)); + internal static IccParametricCurveTagDataEntry ParamCurve4 = new(new IccParametricCurve(2.4f, 1 / 1.055f, 0.055f / 1.055f, 1 / 12.92f, 0.04045f)); + internal static IccParametricCurveTagDataEntry ParamCurve5 = new(new IccParametricCurve(2.2f, 0.7f, 0.2f, 0.3f, 0.1f, 0.5f, 0.2f)); - public static object[][] TrcArrayConversionTestData = + public static object[][] TrcArrayConversionTestData = + { + new object[] { - new object[] - { - new IccTagDataEntry[] { IdentityCurve, Gamma2Curve, ParamCurve1 }, - false, - new Vector4(2, 2, 0.5f, 0), - new Vector4(2, 4, 0.217637628f, 0), - }, - new object[] - { - new IccTagDataEntry[] { IdentityCurve, Gamma2Curve, ParamCurve1 }, - true, - new Vector4(1, 4, 0.217637628f, 0), - new Vector4(1, 2, 0.5f, 0), - }, - }; - - public static object[][] CurveConversionTestData = + new IccTagDataEntry[] { IdentityCurve, Gamma2Curve, ParamCurve1 }, + false, + new Vector4(2, 2, 0.5f, 0), + new Vector4(2, 4, 0.217637628f, 0), + }, + new object[] { - new object[] { IdentityCurve, false, 2, 2 }, - new object[] { Gamma2Curve, false, 2, 4 }, - new object[] { LutCurve, false, 0.1, 0.14 }, - new object[] { LutCurve, false, 0.5, 0.7 }, - new object[] { LutCurve, false, 0.75, 0.85 }, + new IccTagDataEntry[] { IdentityCurve, Gamma2Curve, ParamCurve1 }, + true, + new Vector4(1, 4, 0.217637628f, 0), + new Vector4(1, 2, 0.5f, 0), + }, + }; - new object[] { IdentityCurve, true, 2, 2 }, - new object[] { Gamma2Curve, true, 4, 2 }, - new object[] { LutCurve, true, 0.14, 0.1 }, - new object[] { LutCurve, true, 0.7, 0.5 }, - new object[] { LutCurve, true, 0.85, 0.75 }, - }; + public static object[][] CurveConversionTestData = + { + new object[] { IdentityCurve, false, 2, 2 }, + new object[] { Gamma2Curve, false, 2, 4 }, + new object[] { LutCurve, false, 0.1, 0.14 }, + new object[] { LutCurve, false, 0.5, 0.7 }, + new object[] { LutCurve, false, 0.75, 0.85 }, - public static object[][] ParametricCurveConversionTestData = - { - new object[] { ParamCurve1, false, 0.5f, 0.217637628f }, - new object[] { ParamCurve2, false, 0.6f, 0.133208528f }, - new object[] { ParamCurve2, false, 0.21f, 0 }, - new object[] { ParamCurve3, false, 0.61f, 0.444446117f }, - new object[] { ParamCurve3, false, 0.22f, 0.3f }, - new object[] { ParamCurve4, false, 0.3f, 0.0732389539f }, - new object[] { ParamCurve4, false, 0.03f, 0.00232198136f }, - new object[] { ParamCurve5, false, 0.2f, 0.593165159f }, - new object[] { ParamCurve5, false, 0.05f, 0.215f }, + new object[] { IdentityCurve, true, 2, 2 }, + new object[] { Gamma2Curve, true, 4, 2 }, + new object[] { LutCurve, true, 0.14, 0.1 }, + new object[] { LutCurve, true, 0.7, 0.5 }, + new object[] { LutCurve, true, 0.85, 0.75 }, + }; + + public static object[][] ParametricCurveConversionTestData = + { + new object[] { ParamCurve1, false, 0.5f, 0.217637628f }, + new object[] { ParamCurve2, false, 0.6f, 0.133208528f }, + new object[] { ParamCurve2, false, 0.21f, 0 }, + new object[] { ParamCurve3, false, 0.61f, 0.444446117f }, + new object[] { ParamCurve3, false, 0.22f, 0.3f }, + new object[] { ParamCurve4, false, 0.3f, 0.0732389539f }, + new object[] { ParamCurve4, false, 0.03f, 0.00232198136f }, + new object[] { ParamCurve5, false, 0.2f, 0.593165159f }, + new object[] { ParamCurve5, false, 0.05f, 0.215f }, - new object[] { ParamCurve1, true, 0.217637628f, 0.5f }, - new object[] { ParamCurve2, true, 0.133208528f, 0.6f }, - new object[] { ParamCurve2, true, 0, 1 / 3f }, - new object[] { ParamCurve3, true, 0.444446117f, 0.61f }, - new object[] { ParamCurve3, true, 0.3f, 1 / 3f }, - new object[] { ParamCurve4, true, 0.0732389539f, 0.3f }, - new object[] { ParamCurve4, true, 0.00232198136f, 0.03f }, - new object[] { ParamCurve5, true, 0.593165159f, 0.2f }, - new object[] { ParamCurve5, true, 0.215f, 0.05f }, - }; - } + new object[] { ParamCurve1, true, 0.217637628f, 0.5f }, + new object[] { ParamCurve2, true, 0.133208528f, 0.6f }, + new object[] { ParamCurve2, true, 0, 1 / 3f }, + new object[] { ParamCurve3, true, 0.444446117f, 0.61f }, + new object[] { ParamCurve3, true, 0.3f, 1 / 3f }, + new object[] { ParamCurve4, true, 0.0732389539f, 0.3f }, + new object[] { ParamCurve4, true, 0.00232198136f, 0.03f }, + new object[] { ParamCurve5, true, 0.593165159f, 0.2f }, + new object[] { ParamCurve5, true, 0.215f, 0.05f }, + }; } diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataArray.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataArray.cs index 9b175c6e1..cedd20f2d 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataArray.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataArray.cs @@ -1,7 +1,7 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataArray { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataCurves.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataCurves.cs index 8092a847e..6f8244f1c 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataCurves.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataCurves.cs @@ -3,7 +3,7 @@ using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataCurves { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs index ab7ded95d..ea4a75600 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs @@ -3,7 +3,7 @@ using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataLut { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMatrix.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMatrix.cs index 6f8bee216..1a72d39b1 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMatrix.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMatrix.cs @@ -3,9 +3,7 @@ using System.Numerics; -namespace SixLabors.ImageSharp.Tests; - -using SixLabors.ImageSharp; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataMatrix { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMultiProcessElements.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMultiProcessElements.cs index 2a8d87896..2e3679e3a 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMultiProcessElements.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataMultiProcessElements.cs @@ -3,7 +3,7 @@ using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataMultiProcessElements { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs index 6c92ccdae..067427424 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs @@ -5,7 +5,7 @@ using System.Globalization; using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataNonPrimitives { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataPrimitives.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataPrimitives.cs index 88bb13d85..81cfea46f 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataPrimitives.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataPrimitives.cs @@ -1,7 +1,7 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataPrimitives { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataProfiles.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataProfiles.cs index f2766d3ac..7441bede8 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataProfiles.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataProfiles.cs @@ -4,7 +4,7 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataProfiles { diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs index 6c010a5f0..a83dc3575 100644 --- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs +++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs @@ -2,10 +2,9 @@ // Licensed under the Six Labors Split License. using System.Globalization; -using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.Tests; +namespace SixLabors.ImageSharp.Tests.TestDataIcc; internal static class IccTestDataTagDataEntry {