From d5568e7271eaf5a6bbfe7d6c4f2cb549473e5897 Mon Sep 17 00:00:00 2001
From: MoonsvnLyn <287222957+FirmaSpring@users.noreply.github.com>
Date: Mon, 17 Aug 2026 17:27:54 +0800
Subject: [PATCH 01/10] docs: point samples link at
SixLabors.Samples.ImageSharp
The README linked to github.com/SixLabors/Samples/tree/main/ImageSharp, which returns GET 404. The samples now live in SixLabors.Samples.ImageSharp on the same repo.
Co-authored-by: FirmamentalSpring <287222957+FirmaSpring@users.noreply.github.com>
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 4d4375dbf..17b8d409d 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ Support the efforts of the development of the Six Labors projects.
## Documentation
- [Detailed documentation](https://sixlabors.github.io/docs/) for the ImageSharp API is available. This includes additional conceptual documentation to help you get started.
-- Our [Samples Repository](https://github.com/SixLabors/Samples/tree/main/ImageSharp) is also available containing buildable code samples demonstrating common activities.
+- Our [Samples Repository](https://github.com/SixLabors/Samples/tree/main/SixLabors.Samples.ImageSharp) is also available containing buildable code samples demonstrating common activities.
## Questions
From 31b62b1aa73333d5d872679ade846d81027d77e5 Mon Sep 17 00:00:00 2001
From: MoonsvnLyn <287222957+FirmaSpring@users.noreply.github.com>
Date: Mon, 17 Aug 2026 17:29:11 +0800
Subject: [PATCH 02/10] docs: drop copied Robidoux Sharp comment from Spline
CubicResampler.Spline had a second XML summary copied from RobidouxSharp. The field is the B-spline (B=1, C=0) kernel, so only the spline summary should remain.
Co-authored-by: FirmamentalSpring <287222957+FirmaSpring@users.noreply.github.com>
---
.../Processors/Transforms/Resamplers/CubicResampler.cs | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
index 41228e411..1add8160a 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
@@ -53,10 +53,6 @@ public readonly struct CubicResampler : IResampler
/// The function implements the spline algorithm.
///
///
- ///
- /// The function implements the Robidoux Sharp algorithm.
- ///
- ///
public static readonly CubicResampler Spline = new(2, 1, 0);
///
From 22323d891396a5020b91c306a3dc203efaf3f7e2 Mon Sep 17 00:00:00 2001
From: MoonsvnLyn <287222957+FirmaSpring@users.noreply.github.com>
Date: Mon, 17 Aug 2026 17:30:15 +0800
Subject: [PATCH 03/10] docs: update ImageMagick Usage filter links in
resamplers
## Problem
Cubic and Welch resampler XML docs still cite the retired ImageMagick Usage host:
http://www.imagemagick.org/Usage/filter/
GET with redirects returns 404. The same pages now live at https://usage.imagemagick.org/filter/.
## Solution
Update the `see` hrefs in `CubicResampler` and `WelchResampler` to the current Usage site, keeping the original `#cubic_bc` and `#robidoux` fragments.
## Verification
```
curl -sL -o /dev/null -w "%{http_code}" -A "Mozilla/5.0" \
"http://www.imagemagick.org/Usage/filter/"
# 404
curl -sL -o /dev/null -w "%{http_code}" -A "Mozilla/5.0" \
"https://usage.imagemagick.org/filter/"
# 200
curl -sL -o /dev/null -w "%{http_code}" -A "Mozilla/5.0" \
"https://usage.imagemagick.org/filter/#cubic_bc"
# 200
curl -sL -o /dev/null -w "%{http_code}" -A "Mozilla/5.0" \
"https://usage.imagemagick.org/filter/#robidoux"
# 200
```
Co-authored-by: FirmamentalSpring <287222957+FirmaSpring@users.noreply.github.com>
---
.../Processors/Transforms/Resamplers/CubicResampler.cs | 10 +++++-----
.../Processors/Transforms/Resamplers/WelchResampler.cs | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
index 41228e411..4807b573e 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
@@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms;
/// Cubic filters contain a collection of different filters of varying B-Spline and
/// Cardinal values. With these two values you can generate any smoothly fitting
/// (continuious first derivative) piece-wise cubic filter.
-///
+///
///
///
public readonly struct CubicResampler : IResampler
@@ -39,23 +39,23 @@ public readonly struct CubicResampler : IResampler
///
/// The function implements the Robidoux algorithm.
- ///
+ ///
///
public static readonly CubicResampler Robidoux = new(2, .37821575509399867F, .31089212245300067F);
///
/// The function implements the Robidoux Sharp algorithm.
- ///
+ ///
///
public static readonly CubicResampler RobidouxSharp = new(2, .2620145123990142F, .3689927438004929F);
///
/// The function implements the spline algorithm.
- ///
+ ///
///
///
/// The function implements the Robidoux Sharp algorithm.
- ///
+ ///
///
public static readonly CubicResampler Spline = new(2, 1, 0);
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs
index de0fe3f80..b866dbb01 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms;
///
/// The function implements the welch algorithm.
-///
+///
///
public readonly struct WelchResampler : IResampler
{
From c5aae967547de63e9c5ea7c382c9966138dd6e44 Mon Sep 17 00:00:00 2001
From: MoonsvnLyn <287222957+FirmaSpring@users.noreply.github.com>
Date: Mon, 17 Aug 2026 17:30:27 +0800
Subject: [PATCH 04/10] docs: fix RapidTables HSL conversion reference URL
## Problem
The HSL conversion test cites RapidTables without a file extension:
http://www.rapidtables.com/convert/color/hsl-to-rgb
GET with redirects returns 404. The live page is `/hsl-to-rgb.html`.
## Solution
Update the `see` href to the current RapidTables URL.
## Verification
```
curl -sL -o /dev/null -w "%{http_code} %{url_effective}" -A "Mozilla/5.0" \
"http://www.rapidtables.com/convert/color/hsl-to-rgb"
# 404 https://www.rapidtables.com/convert/color/hsl-to-rgb
curl -sL -o /dev/null -w "%{http_code} %{url_effective}" -A "Mozilla/5.0" \
"https://www.rapidtables.com/convert/color/hsl-to-rgb.html"
# 200 https://www.rapidtables.com/convert/color/hsl-to-rgb.html
```
Co-authored-by: FirmamentalSpring <287222957+FirmaSpring@users.noreply.github.com>
---
tests/ImageSharp.Tests/ColorProfiles/RgbAndHslConversionTest.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/ImageSharp.Tests/ColorProfiles/RgbAndHslConversionTest.cs b/tests/ImageSharp.Tests/ColorProfiles/RgbAndHslConversionTest.cs
index e5874c3d1..7ec72a36e 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/RgbAndHslConversionTest.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/RgbAndHslConversionTest.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Tests.ColorProfiles;
///
/// Test data generated using:
///
-///
+///
///
[Trait("Color", "Conversion")]
public class RgbAndHslConversionTest
From f381e0ed517bc8466625dba82e10f0b31ecbe645 Mon Sep 17 00:00:00 2001
From: MoonsvnLyn <287222957+FirmaSpring@users.noreply.github.com>
Date: Mon, 17 Aug 2026 17:51:33 +0800
Subject: [PATCH 05/10] docs: replace dead Adobe TIFF spec links with libtiff
mirrors
The partners.adobe.com links for the TIFF 6.0 specification and Supplements 1 and 2 GET 404. Replace them with the equivalent PDFs hosted by download.osgeo.org (libtiff project), verified 200.
Co-authored-by: FirmamentalSpring <287222957+FirmaSpring@users.noreply.github.com>
---
src/ImageSharp/Formats/Tiff/README.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/ImageSharp/Formats/Tiff/README.md b/src/ImageSharp/Formats/Tiff/README.md
index 48cbd54ca..8e49669f2 100644
--- a/src/ImageSharp/Formats/Tiff/README.md
+++ b/src/ImageSharp/Formats/Tiff/README.md
@@ -2,9 +2,9 @@
## References
- TIFF
- - [TIFF 6.0 Specification](http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf),(http://www.npes.org/pdf/TIFF-v6.pdf)
- - [TIFF Supplement 1](http://partners.adobe.com/public/developer/en/tiff/TIFFPM6.pdf)
- - [TIFF Supplement 2](http://partners.adobe.com/public/developer/en/tiff/TIFFphotoshop.pdf)
+ - [TIFF 6.0 Specification](https://download.osgeo.org/libtiff/doc/TIFF6.pdf)
+ - [TIFF Supplement 1](https://download.osgeo.org/libtiff/doc/TIFFPM6.pdf)
+ - [TIFF Supplement 2](https://download.osgeo.org/libtiff/doc/TIFFphotoshop.pdf)
- [TIFF Supplement 3](http://chriscox.org/TIFFTN3d1.pdf)
- [TIFF-F/FX Extension (RFC2301)](http://www.ietf.org/rfc/rfc2301.txt)
- [TIFF/EP Extension (Wikipedia)](https://en.wikipedia.org/wiki/TIFF/EP)
From 8930d4fd6fcf52a064ee23204f189f60a2dd0948 Mon Sep 17 00:00:00 2001
From: Stefan Nikolei
Date: Wed, 19 Aug 2026 08:53:22 +0200
Subject: [PATCH 06/10] Migrate to xUnitV3
---
shared-infrastructure | 2 +-
tests/Directory.Build.targets | 1 -
.../Program.cs | 8 +-
.../Icc/ColorProfileConverterTests.Icc.cs | 1 -
.../ImageSharp.Tests/Common/NumericsTests.cs | 2 -
.../ImageSharp.Tests/Common/SimdUtilsTests.cs | 1 -
.../Formats/Jpg/Block8x8FTests.cs | 1 -
.../Formats/Jpg/Block8x8Tests.cs | 1 -
.../ImageSharp.Tests/Formats/Jpg/DCTTests.cs | 1 -
.../Formats/Jpg/HuffmanScanEncoderTests.cs | 1 -
.../Formats/Jpg/JpegDecoderTests.cs | 1 -
.../Formats/Jpg/ParseStreamTests.cs | 1 -
...ferenceImplementationsTests.AccurateDCT.cs | 1 -
...plementationsTests.FastFloatingPointDCT.cs | 1 -
...ImplementationsTests.StandardIntegerDCT.cs | 1 -
.../Jpg/ReferenceImplementationsTests.cs | 2 -
.../Formats/Jpg/SpectralJpegTests.cs | 1 -
.../Jpg/SpectralToPixelConversionTests.cs | 1 -
.../Formats/Jpg/Utils/JpegFixture.cs | 1 -
...ceImplementations.LLM_FloatingPoint_DCT.cs | 2 -
.../Formats/Jpg/Utils/VerifyJpeg.cs | 1 -
.../Formats/Png/PngEncoderFilterTests.cs | 1 -
.../Formats/Png/PngEncoderTests.cs | 8 +-
.../Helpers/ParallelRowIteratorTests.cs | 1 -
.../Image/ImageTests.Decode_Cancellation.cs | 1 +
.../ImageSharp.Tests/ImageSharp.Tests.csproj | 1 -
.../UniformUnmanagedMemoryPoolTests.cs | 2 +-
.../Profiles/Exif/Values/ExifValuesTests.cs | 502 +++++++++---------
.../ImageSharp.Tests/PixelFormats/L8Tests.cs | 6 +-
.../PixelFormats/La16Tests.cs | 6 +-
...elOperationsTests.Specialized.Generated.cs | 3 +-
.../Generated/_Common.ttinclude | 1 -
.../PixelOperations/PixelOperationsTests.cs | 82 +--
.../Processors/Convolution/BokehBlurTest.cs | 2 +-
.../Processors/Dithering/DitherTests.cs | 4 +-
.../Processors/Quantization/QuantizerTests.cs | 118 ++--
.../Transforms/AffineTransformTests.cs | 1 -
.../Transforms/ProjectiveTransformTests.cs | 1 -
.../Transforms/ResizeKernelMapTests.cs | 1 -
.../Processors/Transforms/RotateTests.cs | 12 +-
.../LoadResizeSaveProfilingBenchmarks.cs | 1 -
.../ResizeProfilingBenchmarks.cs | 1 -
.../AlphaAssociationQuantizerTests.cs | 2 +-
.../Attributes/ImageDataAttributeBase.cs | 33 +-
.../TestUtilities/BasicSerializer.cs | 30 +-
.../FeatureTesting/FeatureTestRunner.cs | 2 +-
.../BasicTestPatternProvider.cs | 2 +-
.../ImageProviders/BlankProvider.cs | 3 +-
.../ImageProviders/FileProvider.cs | 3 +-
.../ImageProviders/MemberMethodProvider.cs | 2 +-
.../ImageProviders/SolidProvider.cs | 2 +-
.../ImageProviders/TestImageProvider.cs | 3 +-
.../ImageProviders/TestPatternProvider.cs | 2 +-
.../TestUtilities/MeasureFixture.cs | 1 -
.../SixLaborsXunitTestFramework.cs | 15 +-
.../TestUtilities/TestPixel.cs | 2 +-
.../TestUtilities/TestType.cs | 2 +-
.../TestUtilities/TestVector4.cs | 2 +-
.../Tests/BasicSerializerTests.cs | 24 +-
.../Tests/FeatureTestRunnerTests.cs | 2 +-
.../TestUtilities/Tests/ImageComparerTests.cs | 1 -
.../Tests/MagickReferenceCodecTests.cs | 1 -
.../Tests/ReferenceDecoderBenchmarks.cs | 1 -
.../Tests/SystemDrawingReferenceCodecTests.cs | 1 -
.../Tests/TestEnvironmentTests.cs | 1 -
.../Tests/TestImageProviderTests.cs | 23 +-
.../Tests/TestUtilityExtensionsTests.cs | 1 -
.../XUnit/ConditionalDiscovererException.cs | 12 +
.../TestUtilities/XUnit/ConditionalFact.cs | 35 ++
.../XUnit/ConditionalTestDiscoverer.cs | 154 ++++++
.../TestUtilities/XUnit/ConditionalTheory.cs | 33 ++
.../XUnit/StaticReflectionConstants.cs | 15 +
...idateDisposedMemoryAllocationsAttribute.cs | 6 +-
73 files changed, 723 insertions(+), 480 deletions(-)
create mode 100644 tests/ImageSharp.Tests/TestUtilities/XUnit/ConditionalDiscovererException.cs
create mode 100644 tests/ImageSharp.Tests/TestUtilities/XUnit/ConditionalFact.cs
create mode 100644 tests/ImageSharp.Tests/TestUtilities/XUnit/ConditionalTestDiscoverer.cs
create mode 100644 tests/ImageSharp.Tests/TestUtilities/XUnit/ConditionalTheory.cs
create mode 100644 tests/ImageSharp.Tests/TestUtilities/XUnit/StaticReflectionConstants.cs
diff --git a/shared-infrastructure b/shared-infrastructure
index 20f15a2d4..131fe3e59 160000
--- a/shared-infrastructure
+++ b/shared-infrastructure
@@ -1 +1 @@
-Subproject commit 20f15a2d47bba9d8375b5fd34fac283336ec9a5e
+Subproject commit 131fe3e59db92847b3d2bc8937bd35804dbcc8d5
diff --git a/tests/Directory.Build.targets b/tests/Directory.Build.targets
index da57541fa..567f8d489 100644
--- a/tests/Directory.Build.targets
+++ b/tests/Directory.Build.targets
@@ -25,7 +25,6 @@
-->
-
diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs b/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
index db8892cd7..96eb86793 100644
--- a/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
+++ b/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
@@ -4,7 +4,7 @@
using SixLabors.ImageSharp.Tests.PixelFormats.PixelOperations;
using SixLabors.ImageSharp.Tests.ProfilingBenchmarks;
using SixLabors.ImageSharp.Tests.ProfilingSandbox;
-using Xunit.Abstractions;
+using Xunit;
// in this file, comments are used for disabling stuff for local execution
#pragma warning disable SA1515
@@ -32,7 +32,13 @@ static void RunToVector4ProfilingTest()
sealed class ConsoleOutput : ITestOutputHelper
{
+ public void Write(string message) => Console.Write(message);
+
+ public void Write(string format, params object[] args) => Console.Write(format, args);
+
public void WriteLine(string message) => Console.WriteLine(message);
public void WriteLine(string format, params object[] args) => Console.WriteLine(format, args);
+
+ public string Output { get; }
}
diff --git a/tests/ImageSharp.Tests/ColorProfiles/Icc/ColorProfileConverterTests.Icc.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/ColorProfileConverterTests.Icc.cs
index cb349af96..2e5b294a2 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/Icc/ColorProfileConverterTests.Icc.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/ColorProfileConverterTests.Icc.cs
@@ -6,7 +6,6 @@ using SixLabors.ImageSharp.ColorProfiles;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Wacton.Unicolour;
using Wacton.Unicolour.Icc;
-using Xunit.Abstractions;
using Rgb = SixLabors.ImageSharp.ColorProfiles.Rgb;
namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc;
diff --git a/tests/ImageSharp.Tests/Common/NumericsTests.cs b/tests/ImageSharp.Tests/Common/NumericsTests.cs
index ebee57060..280522c16 100644
--- a/tests/ImageSharp.Tests/Common/NumericsTests.cs
+++ b/tests/ImageSharp.Tests/Common/NumericsTests.cs
@@ -1,8 +1,6 @@
// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
-using Xunit.Abstractions;
-
namespace SixLabors.ImageSharp.Tests.Common;
public class NumericsTests
diff --git a/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs b/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs
index 71335032c..034ec89d0 100644
--- a/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs
+++ b/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs
@@ -9,7 +9,6 @@ using System.Runtime.Intrinsics.X86;
using SixLabors.ImageSharp.Common.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.TestUtilities;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Common;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs
index 610693c7f..fe9d5ed6d 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs
@@ -7,7 +7,6 @@ using System.Runtime.Intrinsics;
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
using SixLabors.ImageSharp.Tests.TestUtilities;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
index fb1e062f2..c5a24b484 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
@@ -4,7 +4,6 @@
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
using SixLabors.ImageSharp.Tests.TestUtilities;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs
index b17a39f38..b0e35c7b0 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs
@@ -4,7 +4,6 @@
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
using SixLabors.ImageSharp.Tests.TestUtilities;
-using Xunit.Abstractions;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
index 36b792fa1..2cc0a961f 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
@@ -2,7 +2,6 @@
// Licensed under the Six Labors Split License.
using SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder;
-using Xunit.Abstractions;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
index 2f84a1a7b..f3005d124 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
@@ -9,7 +9,6 @@ using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs;
-using Xunit.Abstractions;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
index b6a59fa93..a14df945a 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
@@ -6,7 +6,6 @@ using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.AccurateDCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.AccurateDCT.cs
index c593a029a..d049472c8 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.AccurateDCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.AccurateDCT.cs
@@ -3,7 +3,6 @@
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs
index 2fcd953ae..80b42cce6 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs
@@ -4,7 +4,6 @@
// ReSharper disable InconsistentNaming
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.StandardIntegerDCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.StandardIntegerDCT.cs
index b44734972..b6c5ba1c9 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.StandardIntegerDCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.StandardIntegerDCT.cs
@@ -3,7 +3,6 @@
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
-using Xunit.Abstractions;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.cs
index 2e97b9596..f7968ea6b 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.cs
@@ -1,8 +1,6 @@
// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
-using Xunit.Abstractions;
-
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
index 1610df6eb..2028c09a8 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
@@ -9,7 +9,6 @@ using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
-using Xunit.Abstractions;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
index 13300ee80..14c7aacd5 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
@@ -7,7 +7,6 @@ using SixLabors.ImageSharp.IO;
using SixLabors.ImageSharp.Metadata;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
index 33e95c5aa..57866989a 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
@@ -6,7 +6,6 @@ using System.Text;
using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Formats.Jpeg.Components;
using SixLabors.ImageSharp.PixelFormats;
-using Xunit.Abstractions;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
index 7c7f47f94..35ba1b3c3 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
@@ -5,8 +5,6 @@ using System.Numerics;
using System.Runtime.CompilerServices;
using SixLabors.ImageSharp.Formats.Jpeg.Components;
-using Xunit.Abstractions;
-
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs
index 7a31e35d0..4928515a2 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs
@@ -3,7 +3,6 @@
using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder;
using SixLabors.ImageSharp.PixelFormats;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
index 423d54e5f..d9fed19c4 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
@@ -6,7 +6,6 @@
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.Formats.Png.Filters;
using SixLabors.ImageSharp.Tests.TestUtilities;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Formats.Png;
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs
index eef8d5ba8..a60f4bd72 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs
@@ -200,14 +200,14 @@ public partial class PngEncoderTests
return;
}
- foreach (object[] filterMethod in PngFilterMethods)
+ foreach (TheoryDataRow filterMethod in PngFilterMethods)
{
foreach (PngInterlaceMode interlaceMode in InterlaceMode)
{
TestPngEncoderCore(
provider,
pngColorType,
- (PngFilterMethod)filterMethod[0],
+ filterMethod.Data,
pngBitDepth,
interlaceMode,
appendPngColorType: true,
@@ -236,14 +236,14 @@ public partial class PngEncoderTests
public void WorksWithAllBitDepthsAndExcludeAllFilter(TestImageProvider provider, PngColorType pngColorType, PngBitDepth pngBitDepth)
where TPixel : unmanaged, IPixel
{
- foreach (object[] filterMethod in PngFilterMethods)
+ foreach (TheoryDataRow filterMethod in PngFilterMethods)
{
foreach (PngInterlaceMode interlaceMode in InterlaceMode)
{
TestPngEncoderCore(
provider,
pngColorType,
- (PngFilterMethod)filterMethod[0],
+ filterMethod.Data,
pngBitDepth,
interlaceMode,
appendPngColorType: true,
diff --git a/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs b/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
index 017926fc5..ec9ee571c 100644
--- a/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
@@ -7,7 +7,6 @@ using Castle.Core.Configuration;
using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Helpers;
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs b/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs
index 0656f9e0b..0f0b13268 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs
@@ -3,6 +3,7 @@
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Tests.TestUtilities;
+using XUnit;
namespace SixLabors.ImageSharp.Tests;
diff --git a/tests/ImageSharp.Tests/ImageSharp.Tests.csproj b/tests/ImageSharp.Tests/ImageSharp.Tests.csproj
index a1d5b0ee2..25d30b514 100644
--- a/tests/ImageSharp.Tests/ImageSharp.Tests.csproj
+++ b/tests/ImageSharp.Tests/ImageSharp.Tests.csproj
@@ -45,7 +45,6 @@
-
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
index ec79d91c3..1c91dec12 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
@@ -5,7 +5,7 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Microsoft.DotNet.RemoteExecutor;
using SixLabors.ImageSharp.Memory.Internals;
-using Xunit.Abstractions;
+using XUnit;
namespace SixLabors.ImageSharp.Tests.Memory.Allocators;
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
index d7d6741ba..94853b91c 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
@@ -11,329 +11,329 @@ public class ExifValuesTests
{
public static TheoryData ByteTags => new()
{
- { ExifTag.FaxProfile },
- { ExifTag.ModeNumber },
- { ExifTag.GPSAltitudeRef }
+ (ExifTag)ExifTag.FaxProfile,
+ (ExifTag)ExifTag.ModeNumber,
+ (ExifTag)ExifTag.GPSAltitudeRef
};
public static TheoryData ByteArrayTags => new()
{
- { ExifTag.ClipPath },
- { ExifTag.VersionYear },
- { ExifTag.XMP },
- { ExifTag.CFAPattern2 },
- { ExifTag.TIFFEPStandardID },
- { ExifTag.GPSVersionID },
+ (ExifTag)ExifTag.ClipPath,
+ (ExifTag)ExifTag.VersionYear,
+ (ExifTag)ExifTag.XMP,
+ (ExifTag)ExifTag.CFAPattern2,
+ (ExifTag)ExifTag.TIFFEPStandardID,
+ (ExifTag)ExifTag.GPSVersionID,
};
public static TheoryData DoubleArrayTags => new()
{
- { ExifTag.PixelScale },
- { ExifTag.IntergraphMatrix },
- { ExifTag.ModelTiePoint },
- { ExifTag.ModelTransform }
+ (ExifTag)ExifTag.PixelScale,
+ (ExifTag)ExifTag.IntergraphMatrix,
+ (ExifTag)ExifTag.ModelTiePoint,
+ (ExifTag)ExifTag.ModelTransform
};
public static TheoryData LongTags => new()
{
- { ExifTag.SubfileType },
- { ExifTag.SubIFDOffset },
- { ExifTag.GPSIFDOffset },
- { ExifTag.T4Options },
- { ExifTag.T6Options },
- { ExifTag.XClipPathUnits },
- { ExifTag.YClipPathUnits },
- { ExifTag.ProfileType },
- { ExifTag.CodingMethods },
- { ExifTag.T82ptions },
- { ExifTag.JPEGInterchangeFormat },
- { ExifTag.JPEGInterchangeFormatLength },
- { ExifTag.MDFileTag },
- { ExifTag.StandardOutputSensitivity },
- { ExifTag.RecommendedExposureIndex },
- { ExifTag.ISOSpeed },
- { ExifTag.ISOSpeedLatitudeyyy },
- { ExifTag.ISOSpeedLatitudezzz },
- { ExifTag.FaxRecvParams },
- { ExifTag.FaxRecvTime },
- { ExifTag.ImageNumber },
+ (ExifTag)ExifTag.SubfileType,
+ (ExifTag)ExifTag.SubIFDOffset,
+ (ExifTag)ExifTag.GPSIFDOffset,
+ (ExifTag)ExifTag.T4Options,
+ (ExifTag)ExifTag.T6Options,
+ (ExifTag)ExifTag.XClipPathUnits,
+ (ExifTag)ExifTag.YClipPathUnits,
+ (ExifTag)ExifTag.ProfileType,
+ (ExifTag)ExifTag.CodingMethods,
+ (ExifTag)ExifTag.T82ptions,
+ (ExifTag)ExifTag.JPEGInterchangeFormat,
+ (ExifTag)ExifTag.JPEGInterchangeFormatLength,
+ (ExifTag)ExifTag.MDFileTag,
+ (ExifTag)ExifTag.StandardOutputSensitivity,
+ (ExifTag)ExifTag.RecommendedExposureIndex,
+ (ExifTag)ExifTag.ISOSpeed,
+ (ExifTag)ExifTag.ISOSpeedLatitudeyyy,
+ (ExifTag)ExifTag.ISOSpeedLatitudezzz,
+ (ExifTag)ExifTag.FaxRecvParams,
+ (ExifTag)ExifTag.FaxRecvTime,
+ (ExifTag)ExifTag.ImageNumber,
};
public static TheoryData LongArrayTags => new()
{
- { ExifTag.FreeOffsets },
- { ExifTag.FreeByteCounts },
- { ExifTag.ColorResponseUnit },
- { ExifTag.SMinSampleValue },
- { ExifTag.SMaxSampleValue },
- { ExifTag.JPEGQTables },
- { ExifTag.JPEGDCTables },
- { ExifTag.JPEGACTables },
- { ExifTag.StripRowCounts },
- { ExifTag.IntergraphRegisters }
+ (ExifTag)ExifTag.FreeOffsets,
+ (ExifTag)ExifTag.FreeByteCounts,
+ (ExifTag)ExifTag.ColorResponseUnit,
+ (ExifTag)ExifTag.SMinSampleValue,
+ (ExifTag)ExifTag.SMaxSampleValue,
+ (ExifTag)ExifTag.JPEGQTables,
+ (ExifTag)ExifTag.JPEGDCTables,
+ (ExifTag)ExifTag.JPEGACTables,
+ (ExifTag)ExifTag.StripRowCounts,
+ (ExifTag)ExifTag.IntergraphRegisters
};
public static TheoryData NumberTags => new()
{
- { ExifTag.ImageWidth },
- { ExifTag.ImageLength },
- { ExifTag.TileWidth },
- { ExifTag.TileLength },
- { ExifTag.BadFaxLines },
- { ExifTag.ConsecutiveBadFaxLines },
- { ExifTag.PixelXDimension },
- { ExifTag.PixelYDimension }
+ (ExifTag)ExifTag.ImageWidth,
+ (ExifTag)ExifTag.ImageLength,
+ (ExifTag)ExifTag.TileWidth,
+ (ExifTag)ExifTag.TileLength,
+ (ExifTag)ExifTag.BadFaxLines,
+ (ExifTag)ExifTag.ConsecutiveBadFaxLines,
+ (ExifTag)ExifTag.PixelXDimension,
+ (ExifTag)ExifTag.PixelYDimension
};
public static TheoryData NumberArrayTags => new()
{
- { ExifTag.StripOffsets },
- { ExifTag.StripByteCounts },
- { ExifTag.TileByteCounts },
- { ExifTag.TileOffsets },
- { ExifTag.ImageLayer }
+ (ExifTag)ExifTag.StripOffsets,
+ (ExifTag)ExifTag.StripByteCounts,
+ (ExifTag)ExifTag.TileByteCounts,
+ (ExifTag)ExifTag.TileOffsets,
+ (ExifTag)ExifTag.ImageLayer
};
public static TheoryData RationalTags => new()
{
- { ExifTag.XPosition },
- { ExifTag.YPosition },
- { ExifTag.XResolution },
- { ExifTag.YResolution },
- { ExifTag.BatteryLevel },
- { ExifTag.ExposureTime },
- { ExifTag.FNumber },
- { ExifTag.MDScalePixel },
- { ExifTag.CompressedBitsPerPixel },
- { ExifTag.ApertureValue },
- { ExifTag.MaxApertureValue },
- { ExifTag.SubjectDistance },
- { ExifTag.FocalLength },
- { ExifTag.FlashEnergy2 },
- { ExifTag.FocalPlaneXResolution2 },
- { ExifTag.FocalPlaneYResolution2 },
- { ExifTag.ExposureIndex2 },
- { ExifTag.Humidity },
- { ExifTag.Pressure },
- { ExifTag.Acceleration },
- { ExifTag.FlashEnergy },
- { ExifTag.FocalPlaneXResolution },
- { ExifTag.FocalPlaneYResolution },
- { ExifTag.ExposureIndex },
- { ExifTag.DigitalZoomRatio },
- { ExifTag.GPSAltitude },
- { ExifTag.GPSDOP },
- { ExifTag.GPSSpeed },
- { ExifTag.GPSTrack },
- { ExifTag.GPSImgDirection },
- { ExifTag.GPSDestBearing },
- { ExifTag.GPSDestDistance },
- { ExifTag.GPSHPositioningError },
+ (ExifTag)ExifTag.XPosition,
+ (ExifTag)ExifTag.YPosition,
+ (ExifTag)ExifTag.XResolution,
+ (ExifTag)ExifTag.YResolution,
+ (ExifTag)ExifTag.BatteryLevel,
+ (ExifTag)ExifTag.ExposureTime,
+ (ExifTag)ExifTag.FNumber,
+ (ExifTag)ExifTag.MDScalePixel,
+ (ExifTag)ExifTag.CompressedBitsPerPixel,
+ (ExifTag)ExifTag.ApertureValue,
+ (ExifTag)ExifTag.MaxApertureValue,
+ (ExifTag)ExifTag.SubjectDistance,
+ (ExifTag)ExifTag.FocalLength,
+ (ExifTag)ExifTag.FlashEnergy2,
+ (ExifTag)ExifTag.FocalPlaneXResolution2,
+ (ExifTag)ExifTag.FocalPlaneYResolution2,
+ (ExifTag)ExifTag.ExposureIndex2,
+ (ExifTag)ExifTag.Humidity,
+ (ExifTag)ExifTag.Pressure,
+ (ExifTag)ExifTag.Acceleration,
+ (ExifTag)ExifTag.FlashEnergy,
+ (ExifTag)ExifTag.FocalPlaneXResolution,
+ (ExifTag)ExifTag.FocalPlaneYResolution,
+ (ExifTag)ExifTag.ExposureIndex,
+ (ExifTag)ExifTag.DigitalZoomRatio,
+ (ExifTag)ExifTag.GPSAltitude,
+ (ExifTag)ExifTag.GPSDOP,
+ (ExifTag)ExifTag.GPSSpeed,
+ (ExifTag)ExifTag.GPSTrack,
+ (ExifTag)ExifTag.GPSImgDirection,
+ (ExifTag)ExifTag.GPSDestBearing,
+ (ExifTag)ExifTag.GPSDestDistance,
+ (ExifTag)ExifTag.GPSHPositioningError,
};
public static TheoryData RationalArrayTags => new()
{
- { ExifTag.WhitePoint },
- { ExifTag.PrimaryChromaticities },
- { ExifTag.YCbCrCoefficients },
- { ExifTag.ReferenceBlackWhite },
- { ExifTag.GPSLatitude },
- { ExifTag.GPSLongitude },
- { ExifTag.GPSTimestamp },
- { ExifTag.GPSDestLatitude },
- { ExifTag.GPSDestLongitude },
- { ExifTag.LensSpecification }
+ (ExifTag)ExifTag.WhitePoint,
+ (ExifTag)ExifTag.PrimaryChromaticities,
+ (ExifTag)ExifTag.YCbCrCoefficients,
+ (ExifTag)ExifTag.ReferenceBlackWhite,
+ (ExifTag)ExifTag.GPSLatitude,
+ (ExifTag)ExifTag.GPSLongitude,
+ (ExifTag)ExifTag.GPSTimestamp,
+ (ExifTag)ExifTag.GPSDestLatitude,
+ (ExifTag)ExifTag.GPSDestLongitude,
+ (ExifTag)ExifTag.LensSpecification
};
public static TheoryData ShortTags => new()
{
- { ExifTag.OldSubfileType },
- { ExifTag.Compression },
- { ExifTag.PhotometricInterpretation },
- { ExifTag.Thresholding },
- { ExifTag.CellWidth },
- { ExifTag.CellLength },
- { ExifTag.FillOrder },
- { ExifTag.Orientation },
- { ExifTag.SamplesPerPixel },
- { ExifTag.PlanarConfiguration },
- { ExifTag.Predictor },
- { ExifTag.GrayResponseUnit },
- { ExifTag.ResolutionUnit },
- { ExifTag.CleanFaxData },
- { ExifTag.InkSet },
- { ExifTag.NumberOfInks },
- { ExifTag.DotRange },
- { ExifTag.Indexed },
- { ExifTag.OPIProxy },
- { ExifTag.JPEGProc },
- { ExifTag.JPEGRestartInterval },
- { ExifTag.YCbCrPositioning },
- { ExifTag.Rating },
- { ExifTag.RatingPercent },
- { ExifTag.ExposureProgram },
- { ExifTag.Interlace },
- { ExifTag.SelfTimerMode },
- { ExifTag.SensitivityType },
- { ExifTag.MeteringMode },
- { ExifTag.LightSource },
- { ExifTag.FocalPlaneResolutionUnit2 },
- { ExifTag.SensingMethod2 },
- { ExifTag.Flash },
- { ExifTag.ColorSpace },
- { ExifTag.FocalPlaneResolutionUnit },
- { ExifTag.SensingMethod },
- { ExifTag.CustomRendered },
- { ExifTag.ExposureMode },
- { ExifTag.WhiteBalance },
- { ExifTag.FocalLengthIn35mmFilm },
- { ExifTag.SceneCaptureType },
- { ExifTag.GainControl },
- { ExifTag.Contrast },
- { ExifTag.Saturation },
- { ExifTag.Sharpness },
- { ExifTag.SubjectDistanceRange },
- { ExifTag.GPSDifferential }
+ (ExifTag)ExifTag.OldSubfileType,
+ (ExifTag)ExifTag.Compression,
+ (ExifTag)ExifTag.PhotometricInterpretation,
+ (ExifTag)ExifTag.Thresholding,
+ (ExifTag)ExifTag.CellWidth,
+ (ExifTag)ExifTag.CellLength,
+ (ExifTag)ExifTag.FillOrder,
+ (ExifTag)ExifTag.Orientation,
+ (ExifTag)ExifTag.SamplesPerPixel,
+ (ExifTag)ExifTag.PlanarConfiguration,
+ (ExifTag)ExifTag.Predictor,
+ (ExifTag)ExifTag.GrayResponseUnit,
+ (ExifTag)ExifTag.ResolutionUnit,
+ (ExifTag)ExifTag.CleanFaxData,
+ (ExifTag)ExifTag.InkSet,
+ (ExifTag)ExifTag.NumberOfInks,
+ (ExifTag)ExifTag.DotRange,
+ (ExifTag)ExifTag.Indexed,
+ (ExifTag)ExifTag.OPIProxy,
+ (ExifTag)ExifTag.JPEGProc,
+ (ExifTag)ExifTag.JPEGRestartInterval,
+ (ExifTag)ExifTag.YCbCrPositioning,
+ (ExifTag)ExifTag.Rating,
+ (ExifTag)ExifTag.RatingPercent,
+ (ExifTag)ExifTag.ExposureProgram,
+ (ExifTag)ExifTag.Interlace,
+ (ExifTag)ExifTag.SelfTimerMode,
+ (ExifTag)ExifTag.SensitivityType,
+ (ExifTag)ExifTag.MeteringMode,
+ (ExifTag)ExifTag.LightSource,
+ (ExifTag)ExifTag.FocalPlaneResolutionUnit2,
+ (ExifTag)ExifTag.SensingMethod2,
+ (ExifTag)ExifTag.Flash,
+ (ExifTag)ExifTag.ColorSpace,
+ (ExifTag)ExifTag.FocalPlaneResolutionUnit,
+ (ExifTag)ExifTag.SensingMethod,
+ (ExifTag)ExifTag.CustomRendered,
+ (ExifTag)ExifTag.ExposureMode,
+ (ExifTag)ExifTag.WhiteBalance,
+ (ExifTag)ExifTag.FocalLengthIn35mmFilm,
+ (ExifTag)ExifTag.SceneCaptureType,
+ (ExifTag)ExifTag.GainControl,
+ (ExifTag)ExifTag.Contrast,
+ (ExifTag)ExifTag.Saturation,
+ (ExifTag)ExifTag.Sharpness,
+ (ExifTag)ExifTag.SubjectDistanceRange,
+ (ExifTag)ExifTag.GPSDifferential
};
public static TheoryData ShortArrayTags => new()
{
- { ExifTag.BitsPerSample },
- { ExifTag.MinSampleValue },
- { ExifTag.MaxSampleValue },
- { ExifTag.GrayResponseCurve },
- { ExifTag.ColorMap },
- { ExifTag.ExtraSamples },
- { ExifTag.PageNumber },
- { ExifTag.TransferFunction },
- { ExifTag.HalftoneHints },
- { ExifTag.SampleFormat },
- { ExifTag.TransferRange },
- { ExifTag.DefaultImageColor },
- { ExifTag.JPEGLosslessPredictors },
- { ExifTag.JPEGPointTransforms },
- { ExifTag.YCbCrSubsampling },
- { ExifTag.CFARepeatPatternDim },
- { ExifTag.IntergraphPacketData },
- { ExifTag.ISOSpeedRatings },
- { ExifTag.SubjectArea },
- { ExifTag.SubjectLocation }
+ (ExifTag)ExifTag.BitsPerSample,
+ (ExifTag)ExifTag.MinSampleValue,
+ (ExifTag)ExifTag.MaxSampleValue,
+ (ExifTag)ExifTag.GrayResponseCurve,
+ (ExifTag)ExifTag.ColorMap,
+ (ExifTag)ExifTag.ExtraSamples,
+ (ExifTag)ExifTag.PageNumber,
+ (ExifTag)ExifTag.TransferFunction,
+ (ExifTag)ExifTag.HalftoneHints,
+ (ExifTag)ExifTag.SampleFormat,
+ (ExifTag)ExifTag.TransferRange,
+ (ExifTag)ExifTag.DefaultImageColor,
+ (ExifTag)ExifTag.JPEGLosslessPredictors,
+ (ExifTag)ExifTag.JPEGPointTransforms,
+ (ExifTag)ExifTag.YCbCrSubsampling,
+ (ExifTag)ExifTag.CFARepeatPatternDim,
+ (ExifTag)ExifTag.IntergraphPacketData,
+ (ExifTag)ExifTag.ISOSpeedRatings,
+ (ExifTag)ExifTag.SubjectArea,
+ (ExifTag)ExifTag.SubjectLocation
};
public static TheoryData SignedRationalTags => new()
{
- { ExifTag.ShutterSpeedValue },
- { ExifTag.BrightnessValue },
- { ExifTag.ExposureBiasValue },
- { ExifTag.AmbientTemperature },
- { ExifTag.WaterDepth },
- { ExifTag.CameraElevationAngle }
+ (ExifTag)ExifTag.ShutterSpeedValue,
+ (ExifTag)ExifTag.BrightnessValue,
+ (ExifTag)ExifTag.ExposureBiasValue,
+ (ExifTag)ExifTag.AmbientTemperature,
+ (ExifTag)ExifTag.WaterDepth,
+ (ExifTag)ExifTag.CameraElevationAngle
};
public static TheoryData SignedRationalArrayTags => new()
{
- { ExifTag.Decode }
+ (ExifTag)ExifTag.Decode
};
public static TheoryData SignedShortArrayTags => new()
{
- { ExifTag.TimeZoneOffset }
+ (ExifTag)ExifTag.TimeZoneOffset
};
public static TheoryData StringTags => new()
{
- { ExifTag.ImageDescription },
- { ExifTag.Make },
- { ExifTag.Model },
- { ExifTag.Software },
- { ExifTag.DateTime },
- { ExifTag.Artist },
- { ExifTag.HostComputer },
- { ExifTag.Copyright },
- { ExifTag.DocumentName },
- { ExifTag.PageName },
- { ExifTag.InkNames },
- { ExifTag.TargetPrinter },
- { ExifTag.ImageID },
- { ExifTag.MDLabName },
- { ExifTag.MDSampleInfo },
- { ExifTag.MDPrepDate },
- { ExifTag.MDPrepTime },
- { ExifTag.MDFileUnits },
- { ExifTag.SEMInfo },
- { ExifTag.SpectralSensitivity },
- { ExifTag.DateTimeOriginal },
- { ExifTag.DateTimeDigitized },
- { ExifTag.SubsecTime },
- { ExifTag.SubsecTimeOriginal },
- { ExifTag.SubsecTimeDigitized },
- { ExifTag.RelatedSoundFile },
- { ExifTag.FaxSubaddress },
- { ExifTag.OffsetTime },
- { ExifTag.OffsetTimeOriginal },
- { ExifTag.OffsetTimeDigitized },
- { ExifTag.SecurityClassification },
- { ExifTag.ImageHistory },
- { ExifTag.ImageUniqueID },
- { ExifTag.OwnerName },
- { ExifTag.SerialNumber },
- { ExifTag.LensMake },
- { ExifTag.LensModel },
- { ExifTag.LensSerialNumber },
- { ExifTag.GDALMetadata },
- { ExifTag.GDALNoData },
- { ExifTag.GPSLatitudeRef },
- { ExifTag.GPSLongitudeRef },
- { ExifTag.GPSSatellites },
- { ExifTag.GPSStatus },
- { ExifTag.GPSMeasureMode },
- { ExifTag.GPSSpeedRef },
- { ExifTag.GPSTrackRef },
- { ExifTag.GPSImgDirectionRef },
- { ExifTag.GPSMapDatum },
- { ExifTag.GPSDestLatitudeRef },
- { ExifTag.GPSDestLongitudeRef },
- { ExifTag.GPSDestBearingRef },
- { ExifTag.GPSDestDistanceRef },
- { ExifTag.GPSDateStamp },
+ (ExifTag)ExifTag.ImageDescription,
+ (ExifTag)ExifTag.Make,
+ (ExifTag)ExifTag.Model,
+ (ExifTag)ExifTag.Software,
+ (ExifTag)ExifTag.DateTime,
+ (ExifTag)ExifTag.Artist,
+ (ExifTag)ExifTag.HostComputer,
+ (ExifTag)ExifTag.Copyright,
+ (ExifTag)ExifTag.DocumentName,
+ (ExifTag)ExifTag.PageName,
+ (ExifTag)ExifTag.InkNames,
+ (ExifTag)ExifTag.TargetPrinter,
+ (ExifTag)ExifTag.ImageID,
+ (ExifTag)ExifTag.MDLabName,
+ (ExifTag)ExifTag.MDSampleInfo,
+ (ExifTag)ExifTag.MDPrepDate,
+ (ExifTag)ExifTag.MDPrepTime,
+ (ExifTag)ExifTag.MDFileUnits,
+ (ExifTag)ExifTag.SEMInfo,
+ (ExifTag)ExifTag.SpectralSensitivity,
+ (ExifTag)ExifTag.DateTimeOriginal,
+ (ExifTag)ExifTag.DateTimeDigitized,
+ (ExifTag)ExifTag.SubsecTime,
+ (ExifTag)ExifTag.SubsecTimeOriginal,
+ (ExifTag)ExifTag.SubsecTimeDigitized,
+ (ExifTag)ExifTag.RelatedSoundFile,
+ (ExifTag)ExifTag.FaxSubaddress,
+ (ExifTag)ExifTag.OffsetTime,
+ (ExifTag)ExifTag.OffsetTimeOriginal,
+ (ExifTag)ExifTag.OffsetTimeDigitized,
+ (ExifTag)ExifTag.SecurityClassification,
+ (ExifTag)ExifTag.ImageHistory,
+ (ExifTag)ExifTag.ImageUniqueID,
+ (ExifTag)ExifTag.OwnerName,
+ (ExifTag)ExifTag.SerialNumber,
+ (ExifTag)ExifTag.LensMake,
+ (ExifTag)ExifTag.LensModel,
+ (ExifTag)ExifTag.LensSerialNumber,
+ (ExifTag)ExifTag.GDALMetadata,
+ (ExifTag)ExifTag.GDALNoData,
+ (ExifTag)ExifTag.GPSLatitudeRef,
+ (ExifTag)ExifTag.GPSLongitudeRef,
+ (ExifTag)ExifTag.GPSSatellites,
+ (ExifTag)ExifTag.GPSStatus,
+ (ExifTag)ExifTag.GPSMeasureMode,
+ (ExifTag)ExifTag.GPSSpeedRef,
+ (ExifTag)ExifTag.GPSTrackRef,
+ (ExifTag)ExifTag.GPSImgDirectionRef,
+ (ExifTag)ExifTag.GPSMapDatum,
+ (ExifTag)ExifTag.GPSDestLatitudeRef,
+ (ExifTag)ExifTag.GPSDestLongitudeRef,
+ (ExifTag)ExifTag.GPSDestBearingRef,
+ (ExifTag)ExifTag.GPSDestDistanceRef,
+ (ExifTag)ExifTag.GPSDateStamp,
};
public static TheoryData UndefinedTags => new()
{
- { ExifTag.FileSource },
- { ExifTag.SceneType }
+ (ExifTag)ExifTag.FileSource,
+ (ExifTag)ExifTag.SceneType
};
public static TheoryData UndefinedArrayTags => new()
{
- { ExifTag.JPEGTables },
- { ExifTag.OECF },
- { ExifTag.ExifVersion },
- { ExifTag.ComponentsConfiguration },
- { ExifTag.MakerNote },
- { ExifTag.FlashpixVersion },
- { ExifTag.SpatialFrequencyResponse },
- { ExifTag.SpatialFrequencyResponse2 },
- { ExifTag.Noise },
- { ExifTag.CFAPattern },
- { ExifTag.DeviceSettingDescription },
- { ExifTag.ImageSourceData },
+ (ExifTag)ExifTag.JPEGTables,
+ (ExifTag)ExifTag.OECF,
+ (ExifTag)ExifTag.ExifVersion,
+ (ExifTag)ExifTag.ComponentsConfiguration,
+ (ExifTag)ExifTag.MakerNote,
+ (ExifTag)ExifTag.FlashpixVersion,
+ (ExifTag)ExifTag.SpatialFrequencyResponse,
+ (ExifTag)ExifTag.SpatialFrequencyResponse2,
+ (ExifTag)ExifTag.Noise,
+ (ExifTag)ExifTag.CFAPattern,
+ (ExifTag)ExifTag.DeviceSettingDescription,
+ (ExifTag)ExifTag.ImageSourceData,
};
public static TheoryData EncodedStringTags => new()
{
- { ExifTag.UserComment },
- { ExifTag.GPSProcessingMethod },
- { ExifTag.GPSAreaInformation }
+ (ExifTag)ExifTag.UserComment,
+ (ExifTag)ExifTag.GPSProcessingMethod,
+ (ExifTag)ExifTag.GPSAreaInformation
};
public static TheoryData Ucs2StringTags => new()
{
- { ExifTag.XPTitle },
- { ExifTag.XPComment },
- { ExifTag.XPAuthor },
- { ExifTag.XPKeywords },
- { ExifTag.XPSubject },
+ (ExifTag)ExifTag.XPTitle,
+ (ExifTag)ExifTag.XPComment,
+ (ExifTag)ExifTag.XPAuthor,
+ (ExifTag)ExifTag.XPKeywords,
+ (ExifTag)ExifTag.XPSubject,
};
[Theory]
diff --git a/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs b/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs
index 1ca865ef4..58f226f50 100644
--- a/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs
@@ -12,7 +12,11 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats;
public class L8Tests
{
public static readonly TheoryData LuminanceData
- = new() { 0, 1, 2, 3, 5, 13, 31, 71, 73, 79, 83, 109, 127, 128, 131, 199, 250, 251, 254, 255 };
+ =
+ [
+ (byte)0, (byte)1, (byte)2, (byte)3, (byte)5, (byte)13, (byte)31, (byte)71, (byte)73, (byte)79, (byte)83,
+ (byte)109, (byte)127, (byte)128, (byte)131, (byte)199, (byte)250, (byte)251, (byte)254, (byte)255
+ ];
[Theory]
[InlineData(0)]
diff --git a/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs b/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs
index f6cbfc442..d37d125e1 100644
--- a/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs
@@ -12,7 +12,11 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats;
public class La16Tests
{
public static readonly TheoryData LuminanceData
- = new() { 0, 1, 2, 3, 5, 13, 31, 71, 73, 79, 83, 109, 127, 128, 131, 199, 250, 251, 254, 255 };
+ =
+ [
+ (byte)0, (byte)1, (byte)2, (byte)3, (byte)5, (byte)13, (byte)31, (byte)71, (byte)73, (byte)79, (byte)83,
+ (byte)109, (byte)127, (byte)128, (byte)131, (byte)199, (byte)250, (byte)251, (byte)254, (byte)255
+ ];
[Theory]
[InlineData(0, 0)]
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/PixelOperationsTests.Specialized.Generated.cs b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/PixelOperationsTests.Specialized.Generated.cs
index 3747b41ee..306c2e628 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/PixelOperationsTests.Specialized.Generated.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/PixelOperationsTests.Specialized.Generated.cs
@@ -5,13 +5,12 @@
using SixLabors.ImageSharp.PixelFormats;
using Xunit;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.PixelFormats.PixelOperations;
public partial class PixelOperationsTests
{
-
+
public partial class A8_OperationsTests : PixelOperationsTests
{
public A8_OperationsTests(ITestOutputHelper output)
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/_Common.ttinclude b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/_Common.ttinclude
index e4a7e881e..90c706733 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/_Common.ttinclude
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/Generated/_Common.ttinclude
@@ -10,7 +10,6 @@
using SixLabors.ImageSharp.PixelFormats;
using Xunit;
-using Xunit.Abstractions;
<#+
private static readonly string[] UnassociatedAlphaPixelTypes =
[
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
index c569919f5..81f601551 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
@@ -10,7 +10,6 @@ using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.Common;
using SixLabors.ImageSharp.Tests.TestUtilities;
-using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.PixelFormats.PixelOperations;
@@ -318,46 +317,47 @@ public abstract class PixelOperationsTests : MeasureFixture
(s, d) => this.Operations.ToVector4(this.Configuration, s, d.GetSpan()));
}
- public static readonly TheoryData