diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs
index b7b764007..50882c007 100644
--- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs
@@ -202,7 +202,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff
if (this.PlanarConfiguration == TiffPlanarConfiguration.Chunky)
{
- DebugGuard.IsTrue(plane == -1, "Excepted Chunky planar.");
+ DebugGuard.IsTrue(plane == -1, "Expected Chunky planar.");
bitsPerPixel = this.BitsPerPixel;
}
else
diff --git a/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs b/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs
index 712578f81..d1a3dd1ea 100644
--- a/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs
@@ -55,23 +55,38 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Writers
///
protected override void EncodeStrip(int y, int height, TiffBaseCompressor compressor)
{
- Span pixels = GetStripPixels(((IPixelSource)this.quantizedImage).PixelBuffer, y, height);
+ Span indexedPixels = GetStripPixels(((IPixelSource)this.quantizedImage).PixelBuffer, y, height);
if (this.BitsPerPixel == 4)
{
- using IMemoryOwner rows4bitBuffer = this.MemoryAllocator.Allocate(pixels.Length / 2);
+ int width = this.Image.Width;
+ int halfWidth = width >> 1;
+ int excess = (width & 1) * height; // (width % 2) * height
+ int rows4BitBufferLength = (halfWidth * height) + excess;
+ using IMemoryOwner rows4bitBuffer = this.MemoryAllocator.Allocate(rows4BitBufferLength);
Span rows4bit = rows4bitBuffer.GetSpan();
- int idx = 0;
- for (int i = 0; i < rows4bit.Length; i++)
+ int idxPixels = 0;
+ int idx4bitRows = 0;
+ for (int row = 0; row < height; row++)
{
- rows4bit[i] = (byte)((pixels[idx] << 4) | (pixels[idx + 1] & 0xF));
- idx += 2;
+ for (int x = 0; x < halfWidth; x++)
+ {
+ rows4bit[idx4bitRows] = (byte)((indexedPixels[idxPixels] << 4) | (indexedPixels[idxPixels + 1] & 0xF));
+ idxPixels += 2;
+ idx4bitRows++;
+ }
+
+ // Make sure rows are byte-aligned.
+ if (width % 2 != 0)
+ {
+ rows4bit[idx4bitRows++] = (byte)(indexedPixels[idxPixels++] << 4);
+ }
}
- compressor.CompressStrip(rows4bit, height);
+ compressor.CompressStrip(rows4bit.Slice(0, idx4bitRows), height);
}
else
{
- compressor.CompressStrip(pixels, height);
+ compressor.CompressStrip(indexedPixels, height);
}
}
@@ -91,7 +106,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Writers
PixelOperations.Instance.ToRgb48(this.Configuration, quantizedColors, quantizedColorRgb48);
// It can happen that the quantized colors are less than the expected maximum per channel.
- var diffToMaxColors = this.maxColors - quantizedColors.Length;
+ int diffToMaxColors = this.maxColors - quantizedColors.Length;
// In a TIFF ColorMap, all the Red values come first, followed by the Green values,
// then the Blue values. Convert the quantized palette to this format.
diff --git a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor.cs b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor.cs
index 56593acb8..9b28a8fdd 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor.cs
@@ -22,10 +22,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
bool clipHistogram,
int clipLimit,
int numberOfTiles)
- : base(luminanceLevels, clipHistogram, clipLimit)
- {
- this.NumberOfTiles = numberOfTiles;
- }
+ : base(luminanceLevels, clipHistogram, clipLimit) => this.NumberOfTiles = numberOfTiles;
///
/// Gets the number of tiles the image is split into (horizontal and vertically) for the adaptive histogram equalization.
@@ -34,8 +31,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
///
public override IImageProcessor CreatePixelSpecificProcessor(Configuration configuration, Image source, Rectangle sourceRectangle)
- {
- return new AdaptiveHistogramEqualizationProcessor(
+ => new AdaptiveHistogramEqualizationProcessor(
configuration,
this.LuminanceLevels,
this.ClipHistogram,
@@ -43,6 +39,5 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
this.NumberOfTiles,
source,
sourceRectangle);
- }
}
}
diff --git a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
index 14687426d..91ed9f5de 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
@@ -459,10 +459,14 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
private readonly Configuration configuration;
private readonly MemoryAllocator memoryAllocator;
- // Used for storing the minimum value for each CDF entry.
+ ///
+ /// Used for storing the minimum value for each CDF entry.
+ ///
private readonly Buffer2D cdfMinBuffer2D;
- // Used for storing the LUT for each CDF entry.
+ ///
+ /// Used for storing the LUT for each CDF entry.
+ ///
private readonly Buffer2D cdfLutBuffer2D;
private readonly int pixelsInTile;
private readonly int sourceWidth;
@@ -596,6 +600,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
int y = this.tileYStartPositions[index].y;
int endY = Math.Min(y + this.tileHeight, this.sourceHeight);
Span cdfMinSpan = this.cdfMinBuffer2D.GetRowSpan(cdfY);
+ cdfMinSpan.Clear();
using IMemoryOwner histogramBuffer = this.allocator.Allocate(this.luminanceLevels);
Span histogram = histogramBuffer.GetSpan();
diff --git a/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs b/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs
index 60686f401..f93334beb 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs
@@ -49,44 +49,18 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
///
/// The .
/// The .
- public static HistogramEqualizationProcessor FromOptions(HistogramEqualizationOptions options)
+ public static HistogramEqualizationProcessor FromOptions(HistogramEqualizationOptions options) => options.Method switch
{
- HistogramEqualizationProcessor processor;
+ HistogramEqualizationMethod.Global
+ => new GlobalHistogramEqualizationProcessor(options.LuminanceLevels, options.ClipHistogram, options.ClipLimit),
- switch (options.Method)
- {
- case HistogramEqualizationMethod.Global:
- processor = new GlobalHistogramEqualizationProcessor(
- options.LuminanceLevels,
- options.ClipHistogram,
- options.ClipLimit);
- break;
+ HistogramEqualizationMethod.AdaptiveTileInterpolation
+ => new AdaptiveHistogramEqualizationProcessor(options.LuminanceLevels, options.ClipHistogram, options.ClipLimit, options.NumberOfTiles),
- case HistogramEqualizationMethod.AdaptiveTileInterpolation:
- processor = new AdaptiveHistogramEqualizationProcessor(
- options.LuminanceLevels,
- options.ClipHistogram,
- options.ClipLimit,
- options.NumberOfTiles);
- break;
+ HistogramEqualizationMethod.AdaptiveSlidingWindow
+ => new AdaptiveHistogramEqualizationSlidingWindowProcessor(options.LuminanceLevels, options.ClipHistogram, options.ClipLimit, options.NumberOfTiles),
- case HistogramEqualizationMethod.AdaptiveSlidingWindow:
- processor = new AdaptiveHistogramEqualizationSlidingWindowProcessor(
- options.LuminanceLevels,
- options.ClipHistogram,
- options.ClipLimit,
- options.NumberOfTiles);
- break;
-
- default:
- processor = new GlobalHistogramEqualizationProcessor(
- options.LuminanceLevels,
- options.ClipHistogram,
- options.ClipLimit);
- break;
- }
-
- return processor;
- }
+ _ => new GlobalHistogramEqualizationProcessor(options.LuminanceLevels, options.ClipHistogram, options.ClipLimit),
+ };
}
}
diff --git a/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor{TPixel}.cs
index 59df3058d..9227cb0c0 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor{TPixel}.cs
@@ -142,6 +142,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
[MethodImpl(InliningOptions.ShortMethod)]
public static int GetLuminance(TPixel sourcePixel, int luminanceLevels)
{
+ // TODO: We need a bulk per span equivalent.
var vector = sourcePixel.ToVector4();
return ColorNumerics.GetBT709Luminance(ref vector, luminanceLevels);
}
diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj b/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj
index 915947532..fe3b16450 100644
--- a/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj
+++ b/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj
@@ -13,6 +13,7 @@
false
false
Debug;Release;Release-InnerLoop;Debug-InnerLoop
+ false
diff --git a/tests/ImageSharp.Tests/Formats/GeneralFormatTests.cs b/tests/ImageSharp.Tests/Formats/GeneralFormatTests.cs
index f34fc9c78..c0843a51b 100644
--- a/tests/ImageSharp.Tests/Formats/GeneralFormatTests.cs
+++ b/tests/ImageSharp.Tests/Formats/GeneralFormatTests.cs
@@ -176,7 +176,7 @@ namespace SixLabors.ImageSharp.Tests.Formats
using (var image2 = Image.Load(serialized))
{
- image2.Save($"{path}/{file.FileName}");
+ image2.Save($"{path}{Path.DirectorySeparatorChar}{file.FileName}");
}
}
}
diff --git a/tests/ImageSharp.Tests/Formats/Gif/Sections/GifGraphicControlExtensionTests.cs b/tests/ImageSharp.Tests/Formats/Gif/Sections/GifGraphicControlExtensionTests.cs
index 6ec1162c4..c4be71d2a 100644
--- a/tests/ImageSharp.Tests/Formats/Gif/Sections/GifGraphicControlExtensionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Gif/Sections/GifGraphicControlExtensionTests.cs
@@ -1,11 +1,11 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Gif;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Formats.Gif
+namespace SixLabors.ImageSharp.Tests.Formats.Gif.Sections
{
public class GifGraphicControlExtensionTests
{
@@ -18,4 +18,4 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
Assert.Equal(14, GifGraphicControlExtension.GetPackedValue(GifDisposalMethod.RestoreToPrevious, true, false));
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Formats/Gif/Sections/GifImageDescriptorTests.cs b/tests/ImageSharp.Tests/Formats/Gif/Sections/GifImageDescriptorTests.cs
index db88cf5b3..41ec1c7e8 100644
--- a/tests/ImageSharp.Tests/Formats/Gif/Sections/GifImageDescriptorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Gif/Sections/GifImageDescriptorTests.cs
@@ -1,11 +1,11 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Gif;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Formats.Gif
+namespace SixLabors.ImageSharp.Tests.Formats.Gif.Sections
{
public class GifImageDescriptorTests
{
@@ -21,4 +21,4 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
Assert.Equal(232, GifImageDescriptor.GetPackedValue(true, true, true, 8));
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Formats/Gif/Sections/GifLogicalScreenDescriptorTests.cs b/tests/ImageSharp.Tests/Formats/Gif/Sections/GifLogicalScreenDescriptorTests.cs
index 9773bcd61..6efa680c8 100644
--- a/tests/ImageSharp.Tests/Formats/Gif/Sections/GifLogicalScreenDescriptorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Gif/Sections/GifLogicalScreenDescriptorTests.cs
@@ -1,11 +1,11 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Gif;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Formats.Gif
+namespace SixLabors.ImageSharp.Tests.Formats.Gif.Sections
{
public class GifLogicalScreenDescriptorTests
{
@@ -20,4 +20,4 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
Assert.Equal(55, GifLogicalScreenDescriptor.GetPackedValue(false, 3, false, 7));
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
index 3910b2c49..67df6a881 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
@@ -12,6 +12,7 @@ using SixLabors.ImageSharp.IO;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils;
+using SixLabors.ImageSharp.Tests.TestUtilities;
using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
@@ -117,7 +118,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
[Theory]
[WithFile(TestImages.Jpeg.Baseline.Floorplan, PixelTypes.Rgba32)]
[WithFile(TestImages.Jpeg.Progressive.Festzug, PixelTypes.Rgba32)]
- public async Task DecodeAsnc_DegenerateMemoryRequest_ShouldTranslateTo_ImageFormatException(TestImageProvider provider)
+ public async Task DecodeAsync_DegenerateMemoryRequest_ShouldTranslateTo_ImageFormatException(TestImageProvider provider)
where TPixel : unmanaged, IPixel
{
provider.LimitAllocatorBufferCapacity().InBytesSqrt(10);
@@ -127,60 +128,53 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}
[Theory]
- [InlineData(TestImages.Jpeg.Baseline.Jpeg420Small, 0)]
- [InlineData(TestImages.Jpeg.Issues.ExifGetString750Transform, 1)]
- [InlineData(TestImages.Jpeg.Issues.ExifGetString750Transform, 15)]
- [InlineData(TestImages.Jpeg.Issues.ExifGetString750Transform, 30)]
- [InlineData(TestImages.Jpeg.Issues.BadRstProgressive518, 1)]
- [InlineData(TestImages.Jpeg.Issues.BadRstProgressive518, 15)]
- [InlineData(TestImages.Jpeg.Issues.BadRstProgressive518, 30)]
- public async Task Decode_IsCancellable(string fileName, int cancellationDelayMs)
+ [InlineData(0)]
+ [InlineData(0.5)]
+ [InlineData(0.9)]
+ public async Task Decode_IsCancellable(int percentageOfStreamReadToCancel)
{
- // Decoding these huge files took 300ms on i7-8650U in 2020. 30ms should be safe for cancellation delay.
- string hugeFile = Path.Combine(
- TestEnvironment.InputImagesDirectoryFullPath,
- fileName);
-
- const int NumberOfRuns = 5;
-
- for (int i = 0; i < NumberOfRuns; i++)
+ var cts = new CancellationTokenSource();
+ var file = Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImages.Jpeg.Baseline.Jpeg420Small);
+ using var pausedStream = new PausedStream(file);
+ pausedStream.OnWaiting(s =>
{
- var cts = new CancellationTokenSource();
- if (cancellationDelayMs == 0)
+ if (s.Position >= s.Length * percentageOfStreamReadToCancel)
{
cts.Cancel();
+ pausedStream.Release();
}
else
{
- cts.CancelAfter(cancellationDelayMs);
- }
-
- try
- {
- using var image = await Image.LoadAsync(hugeFile, cts.Token);
- }
- catch (TaskCanceledException)
- {
- // Succesfully observed a cancellation
- return;
+ // allows this/next wait to unblock
+ pausedStream.Next();
}
- }
+ });
- throw new Exception($"No cancellation happened out of {NumberOfRuns} runs!");
+ var config = Configuration.CreateDefaultInstance();
+ config.FileSystem = new SingleStreamFileSystem(pausedStream);
+ await Assert.ThrowsAsync(async () =>
+ {
+ using Image image = await Image.LoadAsync(config, "someFakeFile", cts.Token);
+ });
}
- [Theory(Skip = "Identify is too fast, doesn't work reliably.")]
- [InlineData(TestImages.Jpeg.Baseline.Exif)]
- [InlineData(TestImages.Jpeg.Progressive.Bad.ExifUndefType)]
- public async Task Identify_IsCancellable(string fileName)
+ [Fact]
+ public async Task Identify_IsCancellable()
{
- string file = Path.Combine(
- TestEnvironment.InputImagesDirectoryFullPath,
- fileName);
-
var cts = new CancellationTokenSource();
- cts.CancelAfter(TimeSpan.FromTicks(1));
- await Assert.ThrowsAsync(() => Image.IdentifyAsync(file, cts.Token));
+
+ var file = Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImages.Jpeg.Baseline.Jpeg420Small);
+ using var pausedStream = new PausedStream(file);
+ pausedStream.OnWaiting(s =>
+ {
+ cts.Cancel();
+ pausedStream.Release();
+ });
+
+ var config = Configuration.CreateDefaultInstance();
+ config.FileSystem = new SingleStreamFileSystem(pausedStream);
+
+ await Assert.ThrowsAsync(async () => await Image.IdentifyAsync(config, "someFakeFile", cts.Token));
}
// DEBUG ONLY!
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs
index 9a1d423a6..3c48865c7 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs
@@ -13,6 +13,7 @@ using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using SixLabors.ImageSharp.Metadata.Profiles.Iptc;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Tests.TestUtilities;
using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
@@ -310,28 +311,33 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}
[Theory]
- [InlineData(JpegSubsample.Ratio420, 0)]
- [InlineData(JpegSubsample.Ratio420, 3)]
- [InlineData(JpegSubsample.Ratio420, 10)]
- [InlineData(JpegSubsample.Ratio444, 0)]
- [InlineData(JpegSubsample.Ratio444, 3)]
- [InlineData(JpegSubsample.Ratio444, 10)]
- public async Task Encode_IsCancellable(JpegSubsample subsample, int cancellationDelayMs)
+ [InlineData(JpegSubsample.Ratio420)]
+ [InlineData(JpegSubsample.Ratio444)]
+ public async Task Encode_IsCancellable(JpegSubsample subsample)
{
- using var image = new Image(5000, 5000);
- using var stream = new MemoryStream();
var cts = new CancellationTokenSource();
- if (cancellationDelayMs == 0)
- {
- cts.Cancel();
- }
- else
+ using var pausedStream = new PausedStream(new MemoryStream());
+ pausedStream.OnWaiting(s =>
{
- cts.CancelAfter(cancellationDelayMs);
- }
+ // after some writing
+ if (s.Position >= 500)
+ {
+ cts.Cancel();
+ pausedStream.Release();
+ }
+ else
+ {
+ // allows this/next wait to unblock
+ pausedStream.Next();
+ }
+ });
- var encoder = new JpegEncoder() { Subsample = subsample };
- await Assert.ThrowsAsync(() => image.SaveAsync(stream, encoder, cts.Token));
+ using var image = new Image(5000, 5000);
+ await Assert.ThrowsAsync(async () =>
+ {
+ var encoder = new JpegEncoder() { Subsample = subsample };
+ await image.SaveAsync(pausedStream, encoder, cts.Token);
+ });
}
}
}
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngFilterTests.cs
index 5f7b4f832..80bfd3497 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngFilterTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngFilterTests.cs
@@ -7,7 +7,6 @@ using System;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.Formats.Png.Filters;
-using SixLabors.ImageSharp.Tests.Formats.Png.Utils;
using SixLabors.ImageSharp.Tests.TestUtilities;
using Xunit;
using Xunit.Abstractions;
@@ -142,7 +141,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
HwIntrinsics.DisableSIMD);
}
-
[Fact]
public void UpAvx2()
{
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs
index f9ff41df1..b4307af5d 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs
@@ -90,12 +90,12 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
using (Image image = provider.GetImage(new PngDecoder()))
{
PngMetadata meta = image.Metadata.GetFormatMetadata(PngFormat.Instance);
- Assert.DoesNotContain(meta.TextData, m => m.Value.Equals("leading space"));
- Assert.DoesNotContain(meta.TextData, m => m.Value.Equals("trailing space"));
- Assert.DoesNotContain(meta.TextData, m => m.Value.Equals("space"));
- Assert.DoesNotContain(meta.TextData, m => m.Value.Equals("empty"));
- Assert.DoesNotContain(meta.TextData, m => m.Value.Equals("invalid characters"));
- Assert.DoesNotContain(meta.TextData, m => m.Value.Equals("too large"));
+ Assert.DoesNotContain(meta.TextData, m => m.Value is "leading space");
+ Assert.DoesNotContain(meta.TextData, m => m.Value is "trailing space");
+ Assert.DoesNotContain(meta.TextData, m => m.Value is "space");
+ Assert.DoesNotContain(meta.TextData, m => m.Value is "empty");
+ Assert.DoesNotContain(meta.TextData, m => m.Value is "invalid characters");
+ Assert.DoesNotContain(meta.TextData, m => m.Value is "too large");
}
}
@@ -277,20 +277,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
private static void VerifyTextDataIsPresent(PngMetadata meta)
{
Assert.NotNull(meta);
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("Comment") && m.Value.Equals("comment"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("Author") && m.Value.Equals("ImageSharp"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("Copyright") && m.Value.Equals("ImageSharp"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("Title") && m.Value.Equals("unittest"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("Description") && m.Value.Equals("compressed-text"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("International") && m.Value.Equals("'e', mu'tlheghvam, ghaH yu'") &&
- m.LanguageTag.Equals("x-klingon") && m.TranslatedKeyword.Equals("warning"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("International2") && m.Value.Equals("ИМАГЕШАРП") && m.LanguageTag.Equals("rus"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("CompressedInternational") && m.Value.Equals("la plume de la mante") &&
- m.LanguageTag.Equals("fra") && m.TranslatedKeyword.Equals("foobar"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("CompressedInternational2") && m.Value.Equals("這是一個考驗") &&
- m.LanguageTag.Equals("chinese"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("NoLang") && m.Value.Equals("this text chunk is missing a language tag"));
- Assert.Contains(meta.TextData, m => m.Keyword.Equals("NoTranslatedKeyword") && m.Value.Equals("dieser chunk hat kein übersetztes Schlüßelwort"));
+ Assert.Contains(meta.TextData, m => m.Keyword is "Comment" && m.Value is "comment");
+ Assert.Contains(meta.TextData, m => m.Keyword is "Author" && m.Value is "ImageSharp");
+ Assert.Contains(meta.TextData, m => m.Keyword is "Copyright" && m.Value is "ImageSharp");
+ Assert.Contains(meta.TextData, m => m.Keyword is "Title" && m.Value is "unittest");
+ Assert.Contains(meta.TextData, m => m.Keyword is "Description" && m.Value is "compressed-text");
+ Assert.Contains(meta.TextData, m => m.Keyword is "International" && m.Value is "'e', mu'tlheghvam, ghaH yu'" && m.LanguageTag is "x-klingon" && m.TranslatedKeyword is "warning");
+ Assert.Contains(meta.TextData, m => m.Keyword is "International2" && m.Value is "ИМАГЕШАРП" && m.LanguageTag is "rus");
+ Assert.Contains(meta.TextData, m => m.Keyword is "CompressedInternational" && m.Value is "la plume de la mante" && m.LanguageTag is "fra" && m.TranslatedKeyword is "foobar");
+ Assert.Contains(meta.TextData, m => m.Keyword is "CompressedInternational2" && m.Value is "這是一個考驗" && m.LanguageTag is "chinese");
+ Assert.Contains(meta.TextData, m => m.Keyword is "NoLang" && m.Value is "this text chunk is missing a language tag");
+ Assert.Contains(meta.TextData, m => m.Keyword is "NoTranslatedKeyword" && m.Value is "dieser chunk hat kein übersetztes Schlüßelwort");
}
}
}
diff --git a/tests/ImageSharp.Tests/Formats/Png/ReferenceImplementations.cs b/tests/ImageSharp.Tests/Formats/Png/ReferenceImplementations.cs
index dd8ecc096..a9b53e16e 100644
--- a/tests/ImageSharp.Tests/Formats/Png/ReferenceImplementations.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/ReferenceImplementations.cs
@@ -6,7 +6,7 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// ReSharper disable InconsistentNaming
-namespace SixLabors.ImageSharp.Tests.Formats.Png.Utils
+namespace SixLabors.ImageSharp.Tests.Formats.Png
{
///
/// This class contains reference implementations to produce verification data for unit tests
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs
index c35311a2a..1a72046fb 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs
@@ -4,7 +4,7 @@
// ReSharper disable InconsistentNaming
using System;
using System.IO;
-
+using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Tiff;
using SixLabors.ImageSharp.Metadata;
using SixLabors.ImageSharp.PixelFormats;
@@ -37,6 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
[InlineData(RgbUncompressed, 24, 256, 256, 300, 300, PixelResolutionUnit.PixelsPerInch)]
[InlineData(SmallRgbDeflate, 24, 32, 32, 96, 96, PixelResolutionUnit.PixelsPerInch)]
[InlineData(Calliphora_GrayscaleUncompressed, 8, 804, 1198, 96, 96, PixelResolutionUnit.PixelsPerInch)]
+ [InlineData(Flower4BitPalette, 4, 73, 43, 72, 72, PixelResolutionUnit.PixelsPerInch)]
public void Identify(string imagePath, int expectedPixelSize, int expectedWidth, int expectedHeight, double expectedHResolution, double expectedVResolution, PixelResolutionUnit expectedResolutionUnit)
{
var testFile = TestFile.Create(imagePath);
@@ -91,6 +92,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
public void TiffDecoder_CanDecode_WithPalette(TestImageProvider provider)
where TPixel : unmanaged, IPixel => TestTiffDecoder(provider);
+ [Theory]
+ [WithFile(Rgb4BitPalette, PixelTypes.Rgba32)]
+ [WithFile(Flower4BitPalette, PixelTypes.Rgba32)]
+ [WithFile(Flower4BitPaletteGray, PixelTypes.Rgba32)]
+ public void TiffDecoder_CanDecode_4Bit_WithPalette(TestImageProvider provider)
+ where TPixel : unmanaged, IPixel
+ {
+ if (TestEnvironment.IsWindows)
+ {
+ TestTiffDecoder(provider, new SystemDrawingReferenceDecoder(), useExactComparer: false, 0.01f);
+ }
+ }
+
[Theory]
[WithFile(GrayscaleDeflateMultistrip, PixelTypes.Rgba32)]
[WithFile(RgbDeflateMultistrip, PixelTypes.Rgba32)]
@@ -155,12 +169,15 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
image.CompareToOriginalMultiFrame(provider, ImageComparer.Exact, ReferenceDecoder);
}
- private static void TestTiffDecoder(TestImageProvider provider)
+ private static void TestTiffDecoder(TestImageProvider provider, IImageDecoder referenceDecoder = null, bool useExactComparer = true, float compareTolerance = 0.001f)
where TPixel : unmanaged, IPixel
{
using Image image = provider.GetImage(TiffDecoder);
image.DebugSave(provider);
- image.CompareToOriginal(provider, ImageComparer.Exact, ReferenceDecoder);
+ image.CompareToOriginal(
+ provider,
+ useExactComparer ? ImageComparer.Exact : ImageComparer.Tolerant(compareTolerance),
+ referenceDecoder ?? ReferenceDecoder);
}
}
}
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs
index 546508ca5..105514c98 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs
@@ -296,10 +296,12 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
[Theory]
[WithFile(Rgb4BitPalette, PixelTypes.Rgba32)]
+ [WithFile(Flower4BitPalette, PixelTypes.Rgba32)]
+ [WithFile(Flower4BitPaletteGray, PixelTypes.Rgba32)]
public void TiffEncoder_EncodeColorPalette_With4Bit_Works(TestImageProvider provider)
where TPixel : unmanaged, IPixel =>
//// Note: The magick reference decoder does not support 4 bit tiff's, so we use our TIFF decoder instead.
- TestTiffEncoderCore(provider, TiffBitsPerPixel.Bit4, TiffPhotometricInterpretation.PaletteColor, useExactComparer: false, compareTolerance: 0.001f, imageDecoder: new TiffDecoder());
+ TestTiffEncoderCore(provider, TiffBitsPerPixel.Bit4, TiffPhotometricInterpretation.PaletteColor, useExactComparer: false, compareTolerance: 0.003f, imageDecoder: new TiffDecoder());
[Theory]
[WithFile(Calliphora_PaletteUncompressed, PixelTypes.Rgba32)]
@@ -460,7 +462,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
TiffCompression compression = TiffCompression.None,
TiffPredictor predictor = TiffPredictor.None,
bool useExactComparer = true,
- float compareTolerance = 0.01f,
+ float compareTolerance = 0.001f,
IImageDecoder imageDecoder = null)
where TPixel : unmanaged, IPixel
{
diff --git a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs
index ecbc331b2..a00f190db 100644
--- a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs
+++ b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs
@@ -28,7 +28,8 @@ namespace SixLabors.ImageSharp.Tests
ArgumentException ex = Assert.Throws(
() =>
{
- this.Collection.AddFrame(new ImageFrame(Configuration.Default, 1, 1));
+ using var frame = new ImageFrame(Configuration.Default, 1, 1);
+ using ImageFrame addedFrame = this.Collection.AddFrame(frame);
});
Assert.StartsWith("Frame must have the same dimensions as the image.", ex.Message);
@@ -40,7 +41,7 @@ namespace SixLabors.ImageSharp.Tests
ArgumentNullException ex = Assert.Throws(
() =>
{
- this.Collection.AddFrame((ImageFrame)null);
+ using ImageFrame addedFrame = this.Collection.AddFrame((ImageFrame)null);
});
Assert.StartsWith("Parameter \"frame\" must be not null.", ex.Message);
@@ -54,7 +55,7 @@ namespace SixLabors.ImageSharp.Tests
ArgumentNullException ex = Assert.Throws(
() =>
{
- this.Collection.AddFrame(data);
+ using ImageFrame addedFrame = this.Collection.AddFrame(data);
});
Assert.StartsWith("Parameter \"source\" must be not null.", ex.Message);
@@ -66,7 +67,7 @@ namespace SixLabors.ImageSharp.Tests
ArgumentOutOfRangeException ex = Assert.Throws(
() =>
{
- this.Collection.AddFrame(new Rgba32[0]);
+ using ImageFrame addedFrame = this.Collection.AddFrame(Array.Empty());
});
Assert.StartsWith($"Parameter \"data\" ({typeof(int)}) must be greater than or equal to {100}, was {0}", ex.Message);
@@ -78,7 +79,8 @@ namespace SixLabors.ImageSharp.Tests
ArgumentException ex = Assert.Throws(
() =>
{
- this.Collection.InsertFrame(1, new ImageFrame(Configuration.Default, 1, 1));
+ using var frame = new ImageFrame(Configuration.Default, 1, 1);
+ using ImageFrame insertedFrame = this.Collection.InsertFrame(1, frame);
});
Assert.StartsWith("Frame must have the same dimensions as the image.", ex.Message);
@@ -90,7 +92,7 @@ namespace SixLabors.ImageSharp.Tests
ArgumentNullException ex = Assert.Throws(
() =>
{
- this.Collection.InsertFrame(1, null);
+ using ImageFrame insertedFrame = this.Collection.InsertFrame(1, null);
});
Assert.StartsWith("Parameter \"frame\" must be not null.", ex.Message);
@@ -102,9 +104,11 @@ namespace SixLabors.ImageSharp.Tests
ArgumentException ex = Assert.Throws(
() =>
{
+ using var imageFrame1 = new ImageFrame(Configuration.Default, 10, 10);
+ using var imageFrame2 = new ImageFrame(Configuration.Default, 1, 1);
new ImageFrameCollection(
this.Image,
- new[] { new ImageFrame(Configuration.Default, 10, 10), new ImageFrame(Configuration.Default, 1, 1) });
+ new[] { imageFrame1, imageFrame2 });
});
Assert.StartsWith("Frame must have the same dimensions as the image.", ex.Message);
@@ -113,24 +117,24 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void RemoveAtFrame_ThrowIfRemovingLastFrame()
{
+ using var imageFrame = new ImageFrame(Configuration.Default, 10, 10);
var collection = new ImageFrameCollection(
this.Image,
- new[] { new ImageFrame(Configuration.Default, 10, 10) });
+ new[] { imageFrame });
InvalidOperationException ex = Assert.Throws(
- () =>
- {
- collection.RemoveFrame(0);
- });
+ () => collection.RemoveFrame(0));
Assert.Equal("Cannot remove last frame.", ex.Message);
}
[Fact]
public void RemoveAtFrame_CanRemoveFrameZeroIfMultipleFramesExist()
{
+ using var imageFrame1 = new ImageFrame(Configuration.Default, 10, 10);
+ using var imageFrame2 = new ImageFrame(Configuration.Default, 10, 10);
var collection = new ImageFrameCollection(
this.Image,
- new[] { new ImageFrame(Configuration.Default, 10, 10), new ImageFrame(Configuration.Default, 10, 10) });
+ new[] { imageFrame1, imageFrame2 });
collection.RemoveFrame(0);
Assert.Equal(1, collection.Count);
@@ -139,9 +143,11 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void RootFrameIsFrameAtIndexZero()
{
+ using var imageFrame1 = new ImageFrame(Configuration.Default, 10, 10);
+ using var imageFrame2 = new ImageFrame(Configuration.Default, 10, 10);
var collection = new ImageFrameCollection(
this.Image,
- new[] { new ImageFrame(Configuration.Default, 10, 10), new ImageFrame(Configuration.Default, 10, 10) });
+ new[] { imageFrame1, imageFrame2 });
Assert.Equal(collection.RootFrame, collection[0]);
}
@@ -149,9 +155,11 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void ConstructorPopulatesFrames()
{
+ using var imageFrame1 = new ImageFrame(Configuration.Default, 10, 10);
+ using var imageFrame2 = new ImageFrame(Configuration.Default, 10, 10);
var collection = new ImageFrameCollection(
this.Image,
- new[] { new ImageFrame(Configuration.Default, 10, 10), new ImageFrame(Configuration.Default, 10, 10) });
+ new[] { imageFrame1, imageFrame2 });
Assert.Equal(2, collection.Count);
}
@@ -159,9 +167,11 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void DisposeClearsCollection()
{
+ using var imageFrame1 = new ImageFrame(Configuration.Default, 10, 10);
+ using var imageFrame2 = new ImageFrame(Configuration.Default, 10, 10);
var collection = new ImageFrameCollection(
this.Image,
- new[] { new ImageFrame(Configuration.Default, 10, 10), new ImageFrame(Configuration.Default, 10, 10) });
+ new[] { imageFrame1, imageFrame2 });
collection.Dispose();
@@ -171,9 +181,11 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void Dispose_DisposesAllInnerFrames()
{
+ using var imageFrame1 = new ImageFrame(Configuration.Default, 10, 10);
+ using var imageFrame2 = new ImageFrame(Configuration.Default, 10, 10);
var collection = new ImageFrameCollection(
this.Image,
- new[] { new ImageFrame(Configuration.Default, 10, 10), new ImageFrame(Configuration.Default, 10, 10) });
+ new[] { imageFrame1, imageFrame2 });
IPixelSource[] framesSnapShot = collection.OfType>().ToArray();
collection.Dispose();
@@ -194,7 +206,8 @@ namespace SixLabors.ImageSharp.Tests
{
using (Image img = provider.GetImage())
{
- img.Frames.AddFrame(new ImageFrame(Configuration.Default, 10, 10)); // add a frame anyway
+ using var imageFrame = new ImageFrame(Configuration.Default, 10, 10);
+ using ImageFrame addedFrame = img.Frames.AddFrame(imageFrame); // add a frame anyway
using (Image cloned = img.Frames.CloneFrame(0))
{
Assert.Equal(2, img.Frames.Count);
@@ -215,7 +228,8 @@ namespace SixLabors.ImageSharp.Tests
Assert.True(img.TryGetSinglePixelSpan(out Span imgSpan));
TPixel[] sourcePixelData = imgSpan.ToArray();
- img.Frames.AddFrame(new ImageFrame(Configuration.Default, 10, 10));
+ using var imageFrame = new ImageFrame(Configuration.Default, 10, 10);
+ using ImageFrame addedFrame = img.Frames.AddFrame(imageFrame);
using (Image cloned = img.Frames.ExportFrame(0))
{
Assert.Equal(1, img.Frames.Count);
@@ -227,35 +241,37 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void CreateFrame_Default()
{
- this.Image.Frames.CreateFrame();
-
- Assert.Equal(2, this.Image.Frames.Count);
- this.Image.Frames[1].ComparePixelBufferTo(default(Rgba32));
+ using (this.Image.Frames.CreateFrame())
+ {
+ Assert.Equal(2, this.Image.Frames.Count);
+ this.Image.Frames[1].ComparePixelBufferTo(default(Rgba32));
+ }
}
[Fact]
public void CreateFrame_CustomFillColor()
{
- this.Image.Frames.CreateFrame(Color.HotPink);
-
- Assert.Equal(2, this.Image.Frames.Count);
- this.Image.Frames[1].ComparePixelBufferTo(Color.HotPink);
+ using (this.Image.Frames.CreateFrame(Color.HotPink))
+ {
+ Assert.Equal(2, this.Image.Frames.Count);
+ this.Image.Frames[1].ComparePixelBufferTo(Color.HotPink);
+ }
}
[Fact]
public void AddFrameFromPixelData()
{
Assert.True(this.Image.Frames.RootFrame.TryGetSinglePixelSpan(out Span imgSpan));
- var pixelData = imgSpan.ToArray();
- this.Image.Frames.AddFrame(pixelData);
+ Rgba32[] pixelData = imgSpan.ToArray();
+ using ImageFrame addedFrame = this.Image.Frames.AddFrame(pixelData);
Assert.Equal(2, this.Image.Frames.Count);
}
[Fact]
public void AddFrame_clones_sourceFrame()
{
- var otherFrame = new ImageFrame(Configuration.Default, 10, 10);
- ImageFrame addedFrame = this.Image.Frames.AddFrame(otherFrame);
+ using var otherFrame = new ImageFrame(Configuration.Default, 10, 10);
+ using ImageFrame addedFrame = this.Image.Frames.AddFrame(otherFrame);
Assert.True(otherFrame.TryGetSinglePixelSpan(out Span otherFrameSpan));
addedFrame.ComparePixelBufferTo(otherFrameSpan);
@@ -265,8 +281,8 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void InsertFrame_clones_sourceFrame()
{
- var otherFrame = new ImageFrame(Configuration.Default, 10, 10);
- ImageFrame addedFrame = this.Image.Frames.InsertFrame(0, otherFrame);
+ using var otherFrame = new ImageFrame(Configuration.Default, 10, 10);
+ using ImageFrame addedFrame = this.Image.Frames.InsertFrame(0, otherFrame);
Assert.True(otherFrame.TryGetSinglePixelSpan(out Span otherFrameSpan));
addedFrame.ComparePixelBufferTo(otherFrameSpan);
@@ -276,51 +292,51 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void MoveFrame_LeavesFrameInCorrectLocation()
{
- for (var i = 0; i < 9; i++)
+ for (int i = 0; i < 9; i++)
{
this.Image.Frames.CreateFrame();
}
- var frame = this.Image.Frames[4];
+ ImageFrame frame = this.Image.Frames[4];
this.Image.Frames.MoveFrame(4, 7);
- var newIndex = this.Image.Frames.IndexOf(frame);
+ int newIndex = this.Image.Frames.IndexOf(frame);
Assert.Equal(7, newIndex);
}
[Fact]
public void IndexOf_ReturnsCorrectIndex()
{
- for (var i = 0; i < 9; i++)
+ for (int i = 0; i < 9; i++)
{
this.Image.Frames.CreateFrame();
}
- var frame = this.Image.Frames[4];
- var index = this.Image.Frames.IndexOf(frame);
+ ImageFrame frame = this.Image.Frames[4];
+ int index = this.Image.Frames.IndexOf(frame);
Assert.Equal(4, index);
}
[Fact]
public void Contains_TrueIfMember()
{
- for (var i = 0; i < 9; i++)
+ for (int i = 0; i < 9; i++)
{
this.Image.Frames.CreateFrame();
}
- var frame = this.Image.Frames[4];
+ ImageFrame frame = this.Image.Frames[4];
Assert.True(this.Image.Frames.Contains(frame));
}
[Fact]
public void Contains_FalseIfNonMember()
{
- for (var i = 0; i < 9; i++)
+ for (int i = 0; i < 9; i++)
{
this.Image.Frames.CreateFrame();
}
- var frame = new ImageFrame(Configuration.Default, 10, 10);
+ using var frame = new ImageFrame(Configuration.Default, 10, 10);
Assert.False(this.Image.Frames.Contains(frame));
}
}
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs b/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs
index 3fbe1f70d..271aa30cf 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs
@@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Tests
private static readonly Size ExpectedImageSize = new Size(108, 202);
- private byte[] ActualImageBytes => TestFile.Create(TestImages.Bmp.F).Bytes;
+ private static byte[] ActualImageBytes => TestFile.Create(TestImages.Bmp.F).Bytes;
private IImageInfo LocalImageInfo => this.localImageInfoMock.Object;
@@ -33,7 +33,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void FromBytes_GlobalConfiguration()
{
- IImageInfo info = Image.Identify(this.ActualImageBytes, out IImageFormat type);
+ IImageInfo info = Image.Identify(ActualImageBytes, out IImageFormat type);
Assert.Equal(ExpectedImageSize, info.Size());
Assert.Equal(ExpectedGlobalFormat, type);
@@ -69,7 +69,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void FromStream_GlobalConfiguration()
{
- using (var stream = new MemoryStream(this.ActualImageBytes))
+ using (var stream = new MemoryStream(ActualImageBytes))
{
IImageInfo info = Image.Identify(stream, out IImageFormat type);
@@ -81,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void FromStream_GlobalConfiguration_NoFormat()
{
- using (var stream = new MemoryStream(this.ActualImageBytes))
+ using (var stream = new MemoryStream(ActualImageBytes))
{
IImageInfo info = Image.Identify(stream);
@@ -92,7 +92,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void FromNonSeekableStream_GlobalConfiguration()
{
- using var stream = new MemoryStream(this.ActualImageBytes);
+ using var stream = new MemoryStream(ActualImageBytes);
using var nonSeekableStream = new NonSeekableStream(stream);
IImageInfo info = Image.Identify(nonSeekableStream, out IImageFormat type);
@@ -104,7 +104,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void FromNonSeekableStream_GlobalConfiguration_NoFormat()
{
- using var stream = new MemoryStream(this.ActualImageBytes);
+ using var stream = new MemoryStream(ActualImageBytes);
using var nonSeekableStream = new NonSeekableStream(stream);
IImageInfo info = Image.Identify(nonSeekableStream);
@@ -141,7 +141,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public async Task FromStreamAsync_GlobalConfiguration_NoFormat()
{
- using (var stream = new MemoryStream(this.ActualImageBytes))
+ using (var stream = new MemoryStream(ActualImageBytes))
{
var asyncStream = new AsyncStreamWrapper(stream, () => false);
IImageInfo info = await Image.IdentifyAsync(asyncStream);
@@ -153,7 +153,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public async Task FromStreamAsync_GlobalConfiguration()
{
- using (var stream = new MemoryStream(this.ActualImageBytes))
+ using (var stream = new MemoryStream(ActualImageBytes))
{
var asyncStream = new AsyncStreamWrapper(stream, () => false);
(IImageInfo ImageInfo, IImageFormat Format) res = await Image.IdentifyWithFormatAsync(asyncStream);
@@ -166,7 +166,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public async Task FromNonSeekableStreamAsync_GlobalConfiguration_NoFormat()
{
- using var stream = new MemoryStream(this.ActualImageBytes);
+ using var stream = new MemoryStream(ActualImageBytes);
using var nonSeekableStream = new NonSeekableStream(stream);
var asyncStream = new AsyncStreamWrapper(nonSeekableStream, () => false);
@@ -178,7 +178,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public async Task FromNonSeekableStreamAsync_GlobalConfiguration()
{
- using var stream = new MemoryStream(this.ActualImageBytes);
+ using var stream = new MemoryStream(ActualImageBytes);
using var nonSeekableStream = new NonSeekableStream(stream);
var asyncStream = new AsyncStreamWrapper(nonSeekableStream, () => false);
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Save.cs b/tests/ImageSharp.Tests/Image/ImageTests.Save.cs
index ee46807e5..fe3df1721 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.Save.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.Save.cs
@@ -3,9 +3,8 @@
using System;
using System.IO;
-
using Moq;
-
+using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.PixelFormats;
using Xunit;
@@ -13,8 +12,6 @@ using Xunit;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests
{
- using SixLabors.ImageSharp.Formats;
-
public partial class ImageTests
{
public class Save
@@ -23,7 +20,7 @@ namespace SixLabors.ImageSharp.Tests
public void DetectedEncoding()
{
string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageTests));
- string file = System.IO.Path.Combine(dir, "DetectedEncoding.png");
+ string file = Path.Combine(dir, "DetectedEncoding.png");
using (var image = new Image(10, 10))
{
@@ -40,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests
public void WhenExtensionIsUnknown_Throws()
{
string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageTests));
- string file = System.IO.Path.Combine(dir, "UnknownExtensionsEncoding_Throws.tmp");
+ string file = Path.Combine(dir, "UnknownExtensionsEncoding_Throws.tmp");
Assert.Throws(
() =>
@@ -56,14 +53,14 @@ namespace SixLabors.ImageSharp.Tests
public void SetEncoding()
{
string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageTests));
- string file = System.IO.Path.Combine(dir, "SetEncoding.dat");
+ string file = Path.Combine(dir, "SetEncoding.dat");
using (var image = new Image(10, 10))
{
image.Save(file, new PngEncoder());
}
- using (Image.Load(file, out var mime))
+ using (Image.Load(file, out IImageFormat mime))
{
Assert.Equal("image/png", mime.DefaultMimeType);
}
@@ -72,7 +69,7 @@ namespace SixLabors.ImageSharp.Tests
[Fact]
public void ThrowsWhenDisposed()
{
- var image = new Image(5, 5);
+ using var image = new Image(5, 5);
image.Dispose();
IImageEncoder encoder = Mock.Of();
using (var stream = new MemoryStream())
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.SaveAsync.cs b/tests/ImageSharp.Tests/Image/ImageTests.SaveAsync.cs
index 4e6b002d0..8bb121349 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.SaveAsync.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.SaveAsync.cs
@@ -4,20 +4,18 @@
using System;
using System.IO;
using System.Threading;
+using System.Threading.Tasks;
using Moq;
-using SixLabors.ImageSharp.Formats.Bmp;
+using SixLabors.ImageSharp.Advanced;
+using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.PixelFormats;
+using SixLabors.ImageSharp.Tests.TestUtilities;
using Xunit;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests
{
- using System.Threading.Tasks;
- using SixLabors.ImageSharp.Advanced;
- using SixLabors.ImageSharp.Formats;
- using SixLabors.ImageSharp.Tests.TestUtilities;
-
public partial class ImageTests
{
public class SaveAsync
@@ -43,7 +41,7 @@ namespace SixLabors.ImageSharp.Tests
public async Task WhenExtensionIsUnknown_Throws()
{
string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageTests));
- string file = System.IO.Path.Combine(dir, "UnknownExtensionsEncoding_Throws.tmp");
+ string file = Path.Combine(dir, "UnknownExtensionsEncoding_Throws.tmp");
await Assert.ThrowsAsync(
async () =>
@@ -59,14 +57,14 @@ namespace SixLabors.ImageSharp.Tests
public async Task SetEncoding()
{
string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageTests));
- string file = System.IO.Path.Combine(dir, "SetEncoding.dat");
+ string file = Path.Combine(dir, "SetEncoding.dat");
using (var image = new Image(10, 10))
{
await image.SaveAsync(file, new PngEncoder());
}
- using (Image.Load(file, out var mime))
+ using (Image.Load(file, out IImageFormat mime))
{
Assert.Equal("image/png", mime.DefaultMimeType);
}
@@ -142,10 +140,15 @@ namespace SixLabors.ImageSharp.Tests
using var stream = new MemoryStream();
var asyncStream = new AsyncStreamWrapper(stream, () => false);
var cts = new CancellationTokenSource();
- cts.CancelAfter(TimeSpan.FromTicks(1));
- await Assert.ThrowsAnyAsync(() =>
- image.SaveAsync(asyncStream, encoder, cts.Token));
+ var pausedStream = new PausedStream(asyncStream);
+ pausedStream.OnWaiting(s =>
+ {
+ cts.Cancel();
+ pausedStream.Release();
+ });
+
+ await Assert.ThrowsAsync(async () => await image.SaveAsync(pausedStream, encoder, cts.Token));
}
}
}
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs b/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
index 1124b6439..1cadf1653 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
@@ -60,24 +60,24 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
}
- public static readonly TheoryData LenthValues = new TheoryData { 0, 1, 7, 1023, 1024 };
+ public static readonly TheoryData LengthValues = new TheoryData { 0, 1, 7, 1023, 1024 };
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void HasCorrectLength_byte(int desiredLength)
{
this.TestHasCorrectLength(desiredLength);
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void HasCorrectLength_float(int desiredLength)
{
this.TestHasCorrectLength(desiredLength);
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void HasCorrectLength_CustomStruct(int desiredLength)
{
this.TestHasCorrectLength(desiredLength);
@@ -93,7 +93,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void CanAllocateCleanBuffer_byte(int desiredLength)
{
this.TestCanAllocateCleanBuffer(desiredLength, false);
@@ -101,14 +101,14 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void CanAllocateCleanBuffer_double(int desiredLength)
{
this.TestCanAllocateCleanBuffer(desiredLength);
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void CanAllocateCleanBuffer_CustomStruct(int desiredLength)
{
this.TestCanAllocateCleanBuffer(desiredLength);
@@ -145,14 +145,14 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void SpanPropertyIsAlwaysTheSame_int(int desiredLength)
{
this.TestSpanPropertyIsAlwaysTheSame(desiredLength);
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void SpanPropertyIsAlwaysTheSame_byte(int desiredLength)
{
this.TestSpanPropertyIsAlwaysTheSame(desiredLength, false);
@@ -174,18 +174,18 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void WriteAndReadElements_float(int desiredLength)
{
- this.TestWriteAndReadElements(desiredLength, x => x * 1.2f);
+ this.TestWriteAndReadElements(desiredLength, x => x * 1.2f);
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void WriteAndReadElements_byte(int desiredLength)
{
- this.TestWriteAndReadElements(desiredLength, x => (byte)(x + 1), false);
- this.TestWriteAndReadElements(desiredLength, x => (byte)(x + 1), true);
+ this.TestWriteAndReadElements(desiredLength, x => (byte)(x + 1), false);
+ this.TestWriteAndReadElements(desiredLength, x => (byte)(x + 1), true);
}
private void TestWriteAndReadElements(int desiredLength, Func getExpectedValue, bool testManagedByteBuffer = false)
@@ -193,7 +193,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
{
using (IMemoryOwner buffer = this.Allocate(desiredLength, AllocationOptions.None, testManagedByteBuffer))
{
- T[] expectedVals = new T[buffer.Length()];
+ var expectedVals = new T[buffer.Length()];
for (int i = 0; i < buffer.Length(); i++)
{
@@ -211,7 +211,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void IndexingSpan_WhenOutOfRange_Throws_byte(int desiredLength)
{
this.TestIndexOutOfRangeShouldThrow(desiredLength, false);
@@ -219,14 +219,14 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void IndexingSpan_WhenOutOfRange_Throws_long(int desiredLength)
{
this.TestIndexOutOfRangeShouldThrow(desiredLength);
}
[Theory]
- [MemberData(nameof(LenthValues))]
+ [MemberData(nameof(LengthValues))]
public void IndexingSpan_WhenOutOfRange_Throws_CustomStruct(int desiredLength)
{
this.TestIndexOutOfRangeShouldThrow(desiredLength);
@@ -316,4 +316,4 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
}
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
index cac46fd60..1f23838ab 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
@@ -12,7 +12,7 @@ using SixLabors.ImageSharp.PixelFormats;
using Xunit;
-namespace SixLabors.ImageSharp.Tests
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif
{
[Trait("Profile", "Exif")]
public class ExifProfileTests
@@ -63,6 +63,7 @@ namespace SixLabors.ImageSharp.Tests
Assert.NotNull(value);
Assert.Equal(expected, value.Value);
+ image.Dispose();
}
[Fact]
@@ -157,6 +158,8 @@ namespace SixLabors.ImageSharp.Tests
IExifValue value2 = image.Metadata.ExifProfile.GetValue(ExifTag.FlashEnergy);
Assert.NotNull(value2);
Assert.Equal(new Rational(double.PositiveInfinity), value2.Value);
+
+ image.Dispose();
}
[Theory]
@@ -231,6 +234,8 @@ namespace SixLabors.ImageSharp.Tests
latitude = image.Metadata.ExifProfile.GetValue(ExifTag.GPSLatitude);
Assert.Equal(expectedLatitude, latitude.Value);
+
+ image.Dispose();
}
[Theory]
@@ -252,13 +257,15 @@ namespace SixLabors.ImageSharp.Tests
{
Assert.True(ExifTags.GetPart(exifProfileValue.Tag) == ExifParts.ExifTags);
}
+
+ image.Dispose();
}
[Fact]
public void RemoveEntry_Works()
{
// Arrange
- Image image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateRgba32Image();
+ using Image image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateRgba32Image();
int profileCount = image.Metadata.ExifProfile.Values.Count;
// Assert
@@ -311,7 +318,7 @@ namespace SixLabors.ImageSharp.Tests
TestProfile(profile);
- Image thumbnail = profile.CreateThumbnail();
+ using Image thumbnail = profile.CreateThumbnail();
Assert.NotNull(thumbnail);
Assert.Equal(256, thumbnail.Width);
Assert.Equal(170, thumbnail.Height);
@@ -337,7 +344,7 @@ namespace SixLabors.ImageSharp.Tests
image.Metadata.ExifProfile = expectedProfile;
// Act
- Image reloadedImage = WriteAndRead(image, TestImageWriteFormat.Jpeg);
+ using Image reloadedImage = WriteAndRead(image, TestImageWriteFormat.Jpeg);
// Assert
ExifProfile actualProfile = reloadedImage.Metadata.ExifProfile;
@@ -361,7 +368,7 @@ namespace SixLabors.ImageSharp.Tests
{
// This image contains an 802 byte EXIF profile
// It has a tag with an index offset of 18,481,152 bytes (overrunning the data)
- Image image = TestFile.Create(TestImages.Jpeg.Progressive.Bad.ExifUndefType).CreateRgba32Image();
+ using Image image = TestFile.Create(TestImages.Jpeg.Progressive.Bad.ExifUndefType).CreateRgba32Image();
Assert.NotNull(image);
ExifProfile profile = image.Metadata.ExifProfile;
@@ -381,7 +388,7 @@ namespace SixLabors.ImageSharp.Tests
public void TestArrayValueWithUnspecifiedSize()
{
// This images contains array in the exif profile that has zero components.
- Image image = TestFile.Create(TestImages.Jpeg.Issues.InvalidCast520).CreateRgba32Image();
+ using Image image = TestFile.Create(TestImages.Jpeg.Issues.InvalidCast520).CreateRgba32Image();
ExifProfile profile = image.Metadata.ExifProfile;
Assert.NotNull(profile);
@@ -409,7 +416,7 @@ namespace SixLabors.ImageSharp.Tests
image.Metadata.ExifProfile = CreateExifProfile();
// Act
- Image reloadedImage = WriteAndRead(image, imageFormat);
+ using Image reloadedImage = WriteAndRead(image, imageFormat);
// Assert
ExifProfile actual = reloadedImage.Metadata.ExifProfile;
@@ -460,7 +467,7 @@ namespace SixLabors.ImageSharp.Tests
internal static ExifProfile GetExifProfile()
{
- Image image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateRgba32Image();
+ using Image image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateRgba32Image();
ExifProfile profile = image.Metadata.ExifProfile;
Assert.NotNull(profile);
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
index 4ff37eb6b..7cd7da44e 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using SixLabors.ImageSharp.Metadata.Profiles.Exif;
using Xunit;
-namespace SixLabors.ImageSharp.Tests
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif
{
[Trait("Profile", "Exif")]
public class ExifReaderTests
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
index 42a3b72a6..2fec828ad 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
@@ -4,7 +4,7 @@
using SixLabors.ImageSharp.Metadata.Profiles.Exif;
using Xunit;
-namespace SixLabors.ImageSharp.Tests
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif
{
[Trait("Profile", "Exif")]
public class ExifTagDescriptionAttributeTests
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifValueTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifValueTests.cs
index a2c01ea61..0a816bb21 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifValueTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifValueTests.cs
@@ -5,12 +5,12 @@ using SixLabors.ImageSharp.Metadata.Profiles.Exif;
using SixLabors.ImageSharp.PixelFormats;
using Xunit;
-namespace SixLabors.ImageSharp.Tests
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif
{
[Trait("Profile", "Exif")]
public class ExifValueTests
{
- private ExifProfile profile;
+ private readonly ExifProfile profile;
public ExifValueTests()
{
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs
index 5451cbf37..dff370124 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderCurvesTests
{
[Theory]
[MemberData(nameof(IccTestDataCurves.OneDimensionalCurveTestData), MemberType = typeof(IccTestDataCurves))]
internal void ReadOneDimensionalCurve(byte[] data, IccOneDimensionalCurve expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccOneDimensionalCurve output = reader.ReadOneDimensionalCurve();
@@ -23,7 +24,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.ResponseCurveTestData), MemberType = typeof(IccTestDataCurves))]
internal void ReadResponseCurve(byte[] data, IccResponseCurve expected, int channelCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccResponseCurve output = reader.ReadResponseCurve(channelCount);
@@ -34,7 +35,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.ParametricCurveTestData), MemberType = typeof(IccTestDataCurves))]
internal void ReadParametricCurve(byte[] data, IccParametricCurve expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccParametricCurve output = reader.ReadParametricCurve();
@@ -45,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.CurveSegmentTestData), MemberType = typeof(IccTestDataCurves))]
internal void ReadCurveSegment(byte[] data, IccCurveSegment expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccCurveSegment output = reader.ReadCurveSegment();
@@ -56,7 +57,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.FormulaCurveSegmentTestData), MemberType = typeof(IccTestDataCurves))]
internal void ReadFormulaCurveElement(byte[] data, IccFormulaCurveElement expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccFormulaCurveElement output = reader.ReadFormulaCurveElement();
@@ -67,14 +68,14 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.SampledCurveSegmentTestData), MemberType = typeof(IccTestDataCurves))]
internal void ReadSampledCurveElement(byte[] data, IccSampledCurveElement expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccSampledCurveElement output = reader.ReadSampledCurveElement();
Assert.Equal(expected, output);
}
- private IccDataReader CreateReader(byte[] data)
+ private static IccDataReader CreateReader(byte[] data)
{
return new IccDataReader(data);
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs
index aa24c2673..411738158 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderLutTests
{
[Theory]
[MemberData(nameof(IccTestDataLut.ClutTestData), MemberType = typeof(IccTestDataLut))]
internal void ReadClut(byte[] data, IccClut expected, int inChannelCount, int outChannelCount, bool isFloat)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccClut output = reader.ReadClut(inChannelCount, outChannelCount, isFloat);
@@ -23,7 +24,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut8TestData), MemberType = typeof(IccTestDataLut))]
internal void ReadClut8(byte[] data, IccClut expected, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccClut output = reader.ReadClut8(inChannelCount, outChannelCount, gridPointCount);
@@ -34,7 +35,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut16TestData), MemberType = typeof(IccTestDataLut))]
internal void ReadClut16(byte[] data, IccClut expected, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccClut output = reader.ReadClut16(inChannelCount, outChannelCount, gridPointCount);
@@ -45,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.ClutF32TestData), MemberType = typeof(IccTestDataLut))]
internal void ReadClutF32(byte[] data, IccClut expected, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccClut output = reader.ReadClutF32(inChannelCount, outChannelCount, gridPointCount);
@@ -56,7 +57,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut8TestData), MemberType = typeof(IccTestDataLut))]
internal void ReadLut8(byte[] data, IccLut expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccLut output = reader.ReadLut8();
@@ -67,14 +68,14 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut16TestData), MemberType = typeof(IccTestDataLut))]
internal void ReadLut16(byte[] data, IccLut expected, int count)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccLut output = reader.ReadLut16(count);
Assert.Equal(expected, output);
}
- private IccDataReader CreateReader(byte[] data)
+ private static IccDataReader CreateReader(byte[] data)
{
return new IccDataReader(data);
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs
index fe31d74ac..49e0ea262 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderMatrixTests
{
[Theory]
[MemberData(nameof(IccTestDataMatrix.Matrix2D_FloatArrayTestData), MemberType = typeof(IccTestDataMatrix))]
public void ReadMatrix2D(byte[] data, int xCount, int yCount, bool isSingle, float[,] expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
float[,] output = reader.ReadMatrix(xCount, yCount, isSingle);
@@ -23,14 +24,14 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMatrix.Matrix1D_ArrayTestData), MemberType = typeof(IccTestDataMatrix))]
public void ReadMatrix1D(byte[] data, int yCount, bool isSingle, float[] expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
float[] output = reader.ReadMatrix(yCount, isSingle);
Assert.Equal(expected, output);
}
- private IccDataReader CreateReader(byte[] data)
+ private static IccDataReader CreateReader(byte[] data)
{
return new IccDataReader(data);
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs
index 3fbef46de..5673ba75b 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderMultiProcessElementTests
{
[Theory]
[MemberData(nameof(IccTestDataMultiProcessElements.MultiProcessElementTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void ReadMultiProcessElement(byte[] data, IccMultiProcessElement expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccMultiProcessElement output = reader.ReadMultiProcessElement();
@@ -23,7 +24,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMultiProcessElements.CurveSetTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void ReadCurveSetProcessElement(byte[] data, IccCurveSetProcessElement expected, int inChannelCount, int outChannelCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccCurveSetProcessElement output = reader.ReadCurveSetProcessElement(inChannelCount, outChannelCount);
@@ -34,7 +35,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMultiProcessElements.MatrixTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void ReadMatrixProcessElement(byte[] data, IccMatrixProcessElement expected, int inChannelCount, int outChannelCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccMatrixProcessElement output = reader.ReadMatrixProcessElement(inChannelCount, outChannelCount);
@@ -45,14 +46,14 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMultiProcessElements.ClutTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void ReadClutProcessElement(byte[] data, IccClutProcessElement expected, int inChannelCount, int outChannelCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccClutProcessElement output = reader.ReadClutProcessElement(inChannelCount, outChannelCount);
Assert.Equal(expected, output);
}
- private IccDataReader CreateReader(byte[] data)
+ private static IccDataReader CreateReader(byte[] data)
{
return new IccDataReader(data);
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs
index cf4cf80d1..7d1d07743 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs
@@ -6,15 +6,16 @@ using System.Numerics;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderNonPrimitivesTests
{
[Theory]
[MemberData(nameof(IccTestDataNonPrimitives.DateTimeTestData), MemberType = typeof(IccTestDataNonPrimitives))]
public void ReadDateTime(byte[] data, DateTime expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
DateTime output = reader.ReadDateTime();
@@ -25,7 +26,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.VersionNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
public void ReadVersionNumber(byte[] data, IccVersion expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccVersion output = reader.ReadVersionNumber();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.XyzNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
public void ReadXyzNumber(byte[] data, Vector3 expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
Vector3 output = reader.ReadXyzNumber();
@@ -47,7 +48,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ProfileIdTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void ReadProfileId(byte[] data, IccProfileId expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccProfileId output = reader.ReadProfileId();
@@ -58,7 +59,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.PositionNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void ReadPositionNumber(byte[] data, IccPositionNumber expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccPositionNumber output = reader.ReadPositionNumber();
@@ -69,7 +70,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ResponseNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void ReadResponseNumber(byte[] data, IccResponseNumber expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccResponseNumber output = reader.ReadResponseNumber();
@@ -80,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.NamedColorTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void ReadNamedColor(byte[] data, IccNamedColor expected, uint coordinateCount)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccNamedColor output = reader.ReadNamedColor(coordinateCount);
@@ -91,7 +92,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ProfileDescriptionReadTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void ReadProfileDescription(byte[] data, IccProfileDescription expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccProfileDescription output = reader.ReadProfileDescription();
@@ -102,7 +103,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ColorantTableEntryTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void ReadColorantTableEntry(byte[] data, IccColorantTableEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccColorantTableEntry output = reader.ReadColorantTableEntry();
@@ -113,14 +114,14 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ScreeningChannelTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void ReadScreeningChannel(byte[] data, IccScreeningChannel expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccScreeningChannel output = reader.ReadScreeningChannel();
Assert.Equal(expected, output);
}
- private IccDataReader CreateReader(byte[] data)
+ private static IccDataReader CreateReader(byte[] data)
{
return new IccDataReader(data);
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs
index 2b2b564a7..feff5e496 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs
@@ -5,15 +5,16 @@ using System;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderPrimitivesTests
{
[Theory]
[MemberData(nameof(IccTestDataPrimitives.AsciiTestData), MemberType = typeof(IccTestDataPrimitives))]
public void ReadAsciiString(byte[] textBytes, int length, string expected)
{
- IccDataReader reader = this.CreateReader(textBytes);
+ IccDataReader reader = CreateReader(textBytes);
string output = reader.ReadAsciiString(length);
@@ -23,7 +24,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[Fact]
public void ReadAsciiStringWithNegativeLengthThrowsArgumentException()
{
- IccDataReader reader = this.CreateReader(new byte[4]);
+ IccDataReader reader = CreateReader(new byte[4]);
Assert.Throws(() => reader.ReadAsciiString(-1));
}
@@ -31,7 +32,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[Fact]
public void ReadUnicodeStringWithNegativeLengthThrowsArgumentException()
{
- IccDataReader reader = this.CreateReader(new byte[4]);
+ IccDataReader reader = CreateReader(new byte[4]);
Assert.Throws(() => reader.ReadUnicodeString(-1));
}
@@ -40,7 +41,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.Fix16TestData), MemberType = typeof(IccTestDataPrimitives))]
public void ReadFix16(byte[] data, float expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
float output = reader.ReadFix16();
@@ -51,7 +52,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.UFix16TestData), MemberType = typeof(IccTestDataPrimitives))]
public void ReadUFix16(byte[] data, float expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
float output = reader.ReadUFix16();
@@ -62,7 +63,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.U1Fix15TestData), MemberType = typeof(IccTestDataPrimitives))]
public void ReadU1Fix15(byte[] data, float expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
float output = reader.ReadU1Fix15();
@@ -73,14 +74,14 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.UFix8TestData), MemberType = typeof(IccTestDataPrimitives))]
public void ReadUFix8(byte[] data, float expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
float output = reader.ReadUFix8();
Assert.Equal(expected, output);
}
- private IccDataReader CreateReader(byte[] data)
+ private static IccDataReader CreateReader(byte[] data)
{
return new IccDataReader(data);
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs
index ea77004ed..45ad6ce49 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs
@@ -4,8 +4,9 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderTagDataEntryTests
{
[Theory]
@@ -14,7 +15,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadUnknownTagDataEntry(byte[] data, IccUnknownTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccUnknownTagDataEntry output = reader.ReadUnknownTagDataEntry(size);
@@ -27,7 +28,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadChromaticityTagDataEntry(byte[] data, IccChromaticityTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccChromaticityTagDataEntry output = reader.ReadChromaticityTagDataEntry();
@@ -40,7 +41,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadColorantOrderTagDataEntry(byte[] data, IccColorantOrderTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccColorantOrderTagDataEntry output = reader.ReadColorantOrderTagDataEntry();
@@ -53,7 +54,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadColorantTableTagDataEntry(byte[] data, IccColorantTableTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccColorantTableTagDataEntry output = reader.ReadColorantTableTagDataEntry();
@@ -66,7 +67,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadCurveTagDataEntry(byte[] data, IccCurveTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccCurveTagDataEntry output = reader.ReadCurveTagDataEntry();
@@ -79,7 +80,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadDataTagDataEntry(byte[] data, IccDataTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccDataTagDataEntry output = reader.ReadDataTagDataEntry(size);
@@ -92,7 +93,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadDateTimeTagDataEntry(byte[] data, IccDateTimeTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccDateTimeTagDataEntry output = reader.ReadDateTimeTagDataEntry();
@@ -105,7 +106,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadLut16TagDataEntry(byte[] data, IccLut16TagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccLut16TagDataEntry output = reader.ReadLut16TagDataEntry();
@@ -118,7 +119,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadLut8TagDataEntry(byte[] data, IccLut8TagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccLut8TagDataEntry output = reader.ReadLut8TagDataEntry();
@@ -131,7 +132,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadLutAToBTagDataEntry(byte[] data, IccLutAToBTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccLutAToBTagDataEntry output = reader.ReadLutAtoBTagDataEntry();
@@ -144,7 +145,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadLutBToATagDataEntry(byte[] data, IccLutBToATagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccLutBToATagDataEntry output = reader.ReadLutBtoATagDataEntry();
@@ -157,7 +158,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadMeasurementTagDataEntry(byte[] data, IccMeasurementTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccMeasurementTagDataEntry output = reader.ReadMeasurementTagDataEntry();
@@ -170,7 +171,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadMultiLocalizedUnicodeTagDataEntry(byte[] data, IccMultiLocalizedUnicodeTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccMultiLocalizedUnicodeTagDataEntry output = reader.ReadMultiLocalizedUnicodeTagDataEntry();
@@ -183,7 +184,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadMultiProcessElementsTagDataEntry(byte[] data, IccMultiProcessElementsTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccMultiProcessElementsTagDataEntry output = reader.ReadMultiProcessElementsTagDataEntry();
@@ -196,7 +197,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadNamedColor2TagDataEntry(byte[] data, IccNamedColor2TagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccNamedColor2TagDataEntry output = reader.ReadNamedColor2TagDataEntry();
@@ -209,7 +210,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadParametricCurveTagDataEntry(byte[] data, IccParametricCurveTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccParametricCurveTagDataEntry output = reader.ReadParametricCurveTagDataEntry();
@@ -222,7 +223,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadProfileSequenceDescTagDataEntry(byte[] data, IccProfileSequenceDescTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccProfileSequenceDescTagDataEntry output = reader.ReadProfileSequenceDescTagDataEntry();
@@ -237,7 +238,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
byte[] data,
IccProfileSequenceIdentifierTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccProfileSequenceIdentifierTagDataEntry output = reader.ReadProfileSequenceIdentifierTagDataEntry();
@@ -250,7 +251,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadResponseCurveSet16TagDataEntry(byte[] data, IccResponseCurveSet16TagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccResponseCurveSet16TagDataEntry output = reader.ReadResponseCurveSet16TagDataEntry();
@@ -263,7 +264,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadFix16ArrayTagDataEntry(byte[] data, IccFix16ArrayTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccFix16ArrayTagDataEntry output = reader.ReadFix16ArrayTagDataEntry(size);
@@ -276,7 +277,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadSignatureTagDataEntry(byte[] data, IccSignatureTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccSignatureTagDataEntry output = reader.ReadSignatureTagDataEntry();
@@ -289,7 +290,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadTextTagDataEntry(byte[] data, IccTextTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccTextTagDataEntry output = reader.ReadTextTagDataEntry(size);
@@ -302,7 +303,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadUFix16ArrayTagDataEntry(byte[] data, IccUFix16ArrayTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccUFix16ArrayTagDataEntry output = reader.ReadUFix16ArrayTagDataEntry(size);
@@ -315,7 +316,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadUInt16ArrayTagDataEntry(byte[] data, IccUInt16ArrayTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccUInt16ArrayTagDataEntry output = reader.ReadUInt16ArrayTagDataEntry(size);
@@ -328,7 +329,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadUInt32ArrayTagDataEntry(byte[] data, IccUInt32ArrayTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccUInt32ArrayTagDataEntry output = reader.ReadUInt32ArrayTagDataEntry(size);
@@ -341,7 +342,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadUInt64ArrayTagDataEntry(byte[] data, IccUInt64ArrayTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccUInt64ArrayTagDataEntry output = reader.ReadUInt64ArrayTagDataEntry(size);
@@ -354,7 +355,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadUInt8ArrayTagDataEntry(byte[] data, IccUInt8ArrayTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccUInt8ArrayTagDataEntry output = reader.ReadUInt8ArrayTagDataEntry(size);
@@ -367,7 +368,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadViewingConditionsTagDataEntry(byte[] data, IccViewingConditionsTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccViewingConditionsTagDataEntry output = reader.ReadViewingConditionsTagDataEntry();
@@ -380,7 +381,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadXyzTagDataEntry(byte[] data, IccXyzTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccXyzTagDataEntry output = reader.ReadXyzTagDataEntry(size);
@@ -393,7 +394,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadTextDescriptionTagDataEntry(byte[] data, IccTextDescriptionTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccTextDescriptionTagDataEntry output = reader.ReadTextDescriptionTagDataEntry();
@@ -406,7 +407,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadCrdInfoTagDataEntry(byte[] data, IccCrdInfoTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccCrdInfoTagDataEntry output = reader.ReadCrdInfoTagDataEntry();
@@ -419,7 +420,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadScreeningTagDataEntry(byte[] data, IccScreeningTagDataEntry expected)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccScreeningTagDataEntry output = reader.ReadScreeningTagDataEntry();
@@ -432,14 +433,14 @@ namespace SixLabors.ImageSharp.Tests.Icc
MemberType = typeof(IccTestDataTagDataEntry))]
internal void ReadUcrBgTagDataEntry(byte[] data, IccUcrBgTagDataEntry expected, uint size)
{
- IccDataReader reader = this.CreateReader(data);
+ IccDataReader reader = CreateReader(data);
IccUcrBgTagDataEntry output = reader.ReadUcrBgTagDataEntry(size);
Assert.Equal(expected, output);
}
- private IccDataReader CreateReader(byte[] data)
+ private static IccDataReader CreateReader(byte[] data)
{
return new IccDataReader(data);
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTests.cs
index 7c5070af1..6e2bd05ee 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTests.cs
@@ -1,12 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using System;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataReader
{
+ [Trait("Profile", "Icc")]
public class IccDataReaderTests
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs
index 593eed97c..3bb2ebc41 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterCurvesTests
{
[Theory]
[MemberData(nameof(IccTestDataCurves.OneDimensionalCurveTestData), MemberType = typeof(IccTestDataCurves))]
internal void WriteOneDimensionalCurve(byte[] expected, IccOneDimensionalCurve data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteOneDimensionalCurve(data);
byte[] output = writer.GetData();
@@ -24,7 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.ResponseCurveTestData), MemberType = typeof(IccTestDataCurves))]
internal void WriteResponseCurve(byte[] expected, IccResponseCurve data, int channelCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteResponseCurve(data);
byte[] output = writer.GetData();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.ParametricCurveTestData), MemberType = typeof(IccTestDataCurves))]
internal void WriteParametricCurve(byte[] expected, IccParametricCurve data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteParametricCurve(data);
byte[] output = writer.GetData();
@@ -48,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.CurveSegmentTestData), MemberType = typeof(IccTestDataCurves))]
internal void WriteCurveSegment(byte[] expected, IccCurveSegment data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteCurveSegment(data);
byte[] output = writer.GetData();
@@ -60,7 +61,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.FormulaCurveSegmentTestData), MemberType = typeof(IccTestDataCurves))]
internal void WriteFormulaCurveElement(byte[] expected, IccFormulaCurveElement data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteFormulaCurveElement(data);
byte[] output = writer.GetData();
@@ -72,7 +73,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataCurves.SampledCurveSegmentTestData), MemberType = typeof(IccTestDataCurves))]
internal void WriteSampledCurveElement(byte[] expected, IccSampledCurveElement data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteSampledCurveElement(data);
byte[] output = writer.GetData();
@@ -80,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return 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 e48d89ddb..23ea921ae 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterLutTests
{
[Theory]
[MemberData(nameof(IccTestDataLut.ClutTestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClutAll(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, bool isFloat)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut(data);
byte[] output = writer.GetData();
@@ -24,7 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut8TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClut8(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut8(data);
byte[] output = writer.GetData();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut16TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClut16(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut16(data);
byte[] output = writer.GetData();
@@ -48,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.ClutF32TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClutF32(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClutF32(data);
byte[] output = writer.GetData();
@@ -60,7 +61,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut8TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteLut8(byte[] expected, IccLut data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut8(data);
byte[] output = writer.GetData();
@@ -72,7 +73,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut16TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteLut16(byte[] expected, IccLut data, int count)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut16(data);
byte[] output = writer.GetData();
@@ -80,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return 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 711e3426d..463804671 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterLutTests1
{
[Theory]
[MemberData(nameof(IccTestDataLut.ClutTestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClutAll(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, bool isFloat)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut(data);
byte[] output = writer.GetData();
@@ -24,7 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut8TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClut8(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut8(data);
byte[] output = writer.GetData();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut16TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClut16(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut16(data);
byte[] output = writer.GetData();
@@ -48,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.ClutF32TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClutF32(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClutF32(data);
byte[] output = writer.GetData();
@@ -60,7 +61,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut8TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteLut8(byte[] expected, IccLut data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut8(data);
byte[] output = writer.GetData();
@@ -72,7 +73,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut16TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteLut16(byte[] expected, IccLut data, int count)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut16(data);
byte[] output = writer.GetData();
@@ -80,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs
index ecfbad395..b81dba24d 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterLutTests2
{
[Theory]
[MemberData(nameof(IccTestDataLut.ClutTestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClutAll(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, bool isFloat)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut(data);
byte[] output = writer.GetData();
@@ -24,7 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut8TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClut8(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut8(data);
byte[] output = writer.GetData();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Clut16TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClut16(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClut16(data);
byte[] output = writer.GetData();
@@ -48,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.ClutF32TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteClutF32(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClutF32(data);
byte[] output = writer.GetData();
@@ -60,7 +61,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut8TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteLut8(byte[] expected, IccLut data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut8(data);
byte[] output = writer.GetData();
@@ -72,7 +73,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataLut.Lut16TestData), MemberType = typeof(IccTestDataLut))]
internal void WriteLut16(byte[] expected, IccLut data, int count)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut16(data);
byte[] output = writer.GetData();
@@ -80,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs
index 4346265c7..30e8da2da 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs
@@ -6,17 +6,16 @@ using System.Numerics;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
- using SixLabors.ImageSharp;
-
+ [Trait("Profile", "Icc")]
public class IccDataWriterMatrixTests
{
[Theory]
[MemberData(nameof(IccTestDataMatrix.Matrix2D_FloatArrayTestData), MemberType = typeof(IccTestDataMatrix))]
public void WriteMatrix2D_Array(byte[] expected, int xCount, int yCount, bool isSingle, float[,] data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMatrix(data, isSingle);
byte[] output = writer.GetData();
@@ -28,7 +27,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMatrix.Matrix2D_Matrix4x4TestData), MemberType = typeof(IccTestDataMatrix))]
public void WriteMatrix2D_Matrix4x4(byte[] expected, int xCount, int yCount, bool isSingle, Matrix4x4 data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMatrix(data, isSingle);
byte[] output = writer.GetData();
@@ -40,7 +39,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMatrix.Matrix2D_DenseMatrixTestData), MemberType = typeof(IccTestDataMatrix))]
internal void WriteMatrix2D_DenseMatrix(byte[] expected, int xCount, int yCount, bool isSingle, in DenseMatrix data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMatrix(data, isSingle);
byte[] output = writer.GetData();
@@ -52,7 +51,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMatrix.Matrix1D_ArrayTestData), MemberType = typeof(IccTestDataMatrix))]
public void WriteMatrix1D_Array(byte[] expected, int yCount, bool isSingle, float[] data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMatrix(data, isSingle);
byte[] output = writer.GetData();
@@ -64,7 +63,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMatrix.Matrix1D_Vector3TestData), MemberType = typeof(IccTestDataMatrix))]
public void WriteMatrix1D_Vector3(byte[] expected, int yCount, bool isSingle, Vector3 data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMatrix(data, isSingle);
byte[] output = writer.GetData();
@@ -72,7 +71,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs
index bf8b7d069..78826bb4d 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterMultiProcessElementTests
{
[Theory]
[MemberData(nameof(IccTestDataMultiProcessElements.MultiProcessElementTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void WriteMultiProcessElement(byte[] expected, IccMultiProcessElement data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMultiProcessElement(data);
byte[] output = writer.GetData();
@@ -24,7 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMultiProcessElements.CurveSetTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void WriteCurveSetProcessElement(byte[] expected, IccCurveSetProcessElement data, int inChannelCount, int outChannelCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteCurveSetProcessElement(data);
byte[] output = writer.GetData();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMultiProcessElements.MatrixTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void WriteMatrixProcessElement(byte[] expected, IccMatrixProcessElement data, int inChannelCount, int outChannelCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMatrixProcessElement(data);
byte[] output = writer.GetData();
@@ -48,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataMultiProcessElements.ClutTestData), MemberType = typeof(IccTestDataMultiProcessElements))]
internal void WriteClutProcessElement(byte[] expected, IccClutProcessElement data, int inChannelCount, int outChannelCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteClutProcessElement(data);
byte[] output = writer.GetData();
@@ -56,7 +57,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs
index a918adc3f..aa51b149d 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs
@@ -6,15 +6,16 @@ using System.Numerics;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterNonPrimitivesTests
{
[Theory]
[MemberData(nameof(IccTestDataNonPrimitives.DateTimeTestData), MemberType = typeof(IccTestDataNonPrimitives))]
public void WriteDateTime(byte[] expected, DateTime data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteDateTime(data);
byte[] output = writer.GetData();
@@ -26,7 +27,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.VersionNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
public void WriteVersionNumber(byte[] expected, IccVersion data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteVersionNumber(data);
byte[] output = writer.GetData();
@@ -38,7 +39,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.XyzNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
public void WriteXyzNumber(byte[] expected, Vector3 data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteXyzNumber(data);
byte[] output = writer.GetData();
@@ -50,7 +51,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ProfileIdTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void WriteProfileId(byte[] expected, IccProfileId data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteProfileId(data);
byte[] output = writer.GetData();
@@ -62,7 +63,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.PositionNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void WritePositionNumber(byte[] expected, IccPositionNumber data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WritePositionNumber(data);
byte[] output = writer.GetData();
@@ -74,7 +75,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ResponseNumberTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void WriteResponseNumber(byte[] expected, IccResponseNumber data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteResponseNumber(data);
byte[] output = writer.GetData();
@@ -86,7 +87,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.NamedColorTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void WriteNamedColor(byte[] expected, IccNamedColor data, uint coordinateCount)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteNamedColor(data);
byte[] output = writer.GetData();
@@ -98,7 +99,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ProfileDescriptionWriteTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void WriteProfileDescription(byte[] expected, IccProfileDescription data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteProfileDescription(data);
byte[] output = writer.GetData();
@@ -110,7 +111,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataNonPrimitives.ScreeningChannelTestData), MemberType = typeof(IccTestDataNonPrimitives))]
internal void WriteScreeningChannel(byte[] expected, IccScreeningChannel data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteScreeningChannel(data);
byte[] output = writer.GetData();
@@ -118,7 +119,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs
index 1dc37a195..9946d55f9 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs
@@ -5,15 +5,16 @@ using System;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterPrimitivesTests
{
[Theory]
[MemberData(nameof(IccTestDataPrimitives.AsciiWriteTestData), MemberType = typeof(IccTestDataPrimitives))]
public void WriteAsciiString(byte[] expected, string data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteAsciiString(data);
byte[] output = writer.GetData();
@@ -25,7 +26,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.AsciiPaddingTestData), MemberType = typeof(IccTestDataPrimitives))]
public void WriteAsciiStringPadded(byte[] expected, int length, string data, bool ensureNullTerminator)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteAsciiString(data, length, ensureNullTerminator);
byte[] output = writer.GetData();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[Fact]
public void WriteAsciiStringWithNullWritesEmpty()
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
int count = writer.WriteAsciiString(null);
byte[] output = writer.GetData();
@@ -48,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[Fact]
public void WriteAsciiStringWithNegativeLengthThrowsArgumentException()
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
Assert.Throws(() => writer.WriteAsciiString("abcd", -1, false));
}
@@ -56,7 +57,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[Fact]
public void WriteUnicodeStringWithNullWritesEmpty()
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
int count = writer.WriteUnicodeString(null);
byte[] output = writer.GetData();
@@ -69,7 +70,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.Fix16TestData), MemberType = typeof(IccTestDataPrimitives))]
public void WriteFix16(byte[] expected, float data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteFix16(data);
byte[] output = writer.GetData();
@@ -81,7 +82,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.UFix16TestData), MemberType = typeof(IccTestDataPrimitives))]
public void WriteUFix16(byte[] expected, float data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUFix16(data);
byte[] output = writer.GetData();
@@ -93,7 +94,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.U1Fix15TestData), MemberType = typeof(IccTestDataPrimitives))]
public void WriteU1Fix15(byte[] expected, float data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteU1Fix15(data);
byte[] output = writer.GetData();
@@ -105,7 +106,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataPrimitives.UFix8TestData), MemberType = typeof(IccTestDataPrimitives))]
public void WriteUFix8(byte[] expected, float data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUFix8(data);
byte[] output = writer.GetData();
@@ -113,7 +114,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs
index 6325f26ce..7fd79994a 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs
@@ -4,15 +4,16 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterTagDataEntryTests
{
[Theory]
[MemberData(nameof(IccTestDataTagDataEntry.UnknownTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteUnknownTagDataEntry(byte[] expected, IccUnknownTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUnknownTagDataEntry(data);
byte[] output = writer.GetData();
@@ -24,7 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ChromaticityTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteChromaticityTagDataEntry(byte[] expected, IccChromaticityTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteChromaticityTagDataEntry(data);
byte[] output = writer.GetData();
@@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ColorantOrderTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteColorantOrderTagDataEntry(byte[] expected, IccColorantOrderTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteColorantOrderTagDataEntry(data);
byte[] output = writer.GetData();
@@ -48,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ColorantTableTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteColorantTableTagDataEntry(byte[] expected, IccColorantTableTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteColorantTableTagDataEntry(data);
byte[] output = writer.GetData();
@@ -60,7 +61,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.CurveTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteCurveTagDataEntry(byte[] expected, IccCurveTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteCurveTagDataEntry(data);
byte[] output = writer.GetData();
@@ -72,7 +73,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.DataTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteDataTagDataEntry(byte[] expected, IccDataTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteDataTagDataEntry(data);
byte[] output = writer.GetData();
@@ -84,7 +85,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.DateTimeTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteDateTimeTagDataEntry(byte[] expected, IccDateTimeTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteDateTimeTagDataEntry(data);
byte[] output = writer.GetData();
@@ -96,7 +97,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.Lut16TagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteLut16TagDataEntry(byte[] expected, IccLut16TagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut16TagDataEntry(data);
byte[] output = writer.GetData();
@@ -108,7 +109,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.Lut8TagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteLut8TagDataEntry(byte[] expected, IccLut8TagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLut8TagDataEntry(data);
byte[] output = writer.GetData();
@@ -120,7 +121,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.LutAToBTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteLutAToBTagDataEntry(byte[] expected, IccLutAToBTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLutAtoBTagDataEntry(data);
byte[] output = writer.GetData();
@@ -132,7 +133,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.LutBToATagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteLutBToATagDataEntry(byte[] expected, IccLutBToATagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteLutBtoATagDataEntry(data);
byte[] output = writer.GetData();
@@ -144,7 +145,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.MeasurementTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteMeasurementTagDataEntry(byte[] expected, IccMeasurementTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMeasurementTagDataEntry(data);
byte[] output = writer.GetData();
@@ -156,7 +157,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.MultiLocalizedUnicodeTagDataEntryTestData_Write), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteMultiLocalizedUnicodeTagDataEntry(byte[] expected, IccMultiLocalizedUnicodeTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMultiLocalizedUnicodeTagDataEntry(data);
byte[] output = writer.GetData();
@@ -168,7 +169,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.MultiProcessElementsTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteMultiProcessElementsTagDataEntry(byte[] expected, IccMultiProcessElementsTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteMultiProcessElementsTagDataEntry(data);
byte[] output = writer.GetData();
@@ -180,7 +181,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.NamedColor2TagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteNamedColor2TagDataEntry(byte[] expected, IccNamedColor2TagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteNamedColor2TagDataEntry(data);
byte[] output = writer.GetData();
@@ -192,7 +193,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ParametricCurveTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteParametricCurveTagDataEntry(byte[] expected, IccParametricCurveTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteParametricCurveTagDataEntry(data);
byte[] output = writer.GetData();
@@ -204,7 +205,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ProfileSequenceDescTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteProfileSequenceDescTagDataEntry(byte[] expected, IccProfileSequenceDescTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteProfileSequenceDescTagDataEntry(data);
byte[] output = writer.GetData();
@@ -216,7 +217,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ProfileSequenceIdentifierTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteProfileSequenceIdentifierTagDataEntry(byte[] expected, IccProfileSequenceIdentifierTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteProfileSequenceIdentifierTagDataEntry(data);
byte[] output = writer.GetData();
@@ -228,7 +229,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ResponseCurveSet16TagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteResponseCurveSet16TagDataEntry(byte[] expected, IccResponseCurveSet16TagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteResponseCurveSet16TagDataEntry(data);
byte[] output = writer.GetData();
@@ -240,7 +241,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.Fix16ArrayTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteFix16ArrayTagDataEntry(byte[] expected, IccFix16ArrayTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteFix16ArrayTagDataEntry(data);
byte[] output = writer.GetData();
@@ -252,7 +253,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.SignatureTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteSignatureTagDataEntry(byte[] expected, IccSignatureTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteSignatureTagDataEntry(data);
byte[] output = writer.GetData();
@@ -264,7 +265,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.TextTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteTextTagDataEntry(byte[] expected, IccTextTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteTextTagDataEntry(data);
byte[] output = writer.GetData();
@@ -276,7 +277,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.UFix16ArrayTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteUFix16ArrayTagDataEntry(byte[] expected, IccUFix16ArrayTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUFix16ArrayTagDataEntry(data);
byte[] output = writer.GetData();
@@ -288,7 +289,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.UInt16ArrayTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteUInt16ArrayTagDataEntry(byte[] expected, IccUInt16ArrayTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUInt16ArrayTagDataEntry(data);
byte[] output = writer.GetData();
@@ -300,7 +301,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.UInt32ArrayTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteUInt32ArrayTagDataEntry(byte[] expected, IccUInt32ArrayTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUInt32ArrayTagDataEntry(data);
byte[] output = writer.GetData();
@@ -312,7 +313,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.UInt64ArrayTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteUInt64ArrayTagDataEntry(byte[] expected, IccUInt64ArrayTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUInt64ArrayTagDataEntry(data);
byte[] output = writer.GetData();
@@ -324,7 +325,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.UInt8ArrayTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteUInt8ArrayTagDataEntry(byte[] expected, IccUInt8ArrayTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUInt8ArrayTagDataEntry(data);
byte[] output = writer.GetData();
@@ -336,7 +337,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ViewingConditionsTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteViewingConditionsTagDataEntry(byte[] expected, IccViewingConditionsTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteViewingConditionsTagDataEntry(data);
byte[] output = writer.GetData();
@@ -348,7 +349,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.XYZTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteXyzTagDataEntry(byte[] expected, IccXyzTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteXyzTagDataEntry(data);
byte[] output = writer.GetData();
@@ -360,7 +361,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.TextDescriptionTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteTextDescriptionTagDataEntry(byte[] expected, IccTextDescriptionTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteTextDescriptionTagDataEntry(data);
byte[] output = writer.GetData();
@@ -372,7 +373,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.CrdInfoTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteCrdInfoTagDataEntry(byte[] expected, IccCrdInfoTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteCrdInfoTagDataEntry(data);
byte[] output = writer.GetData();
@@ -384,7 +385,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.ScreeningTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteScreeningTagDataEntry(byte[] expected, IccScreeningTagDataEntry data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteScreeningTagDataEntry(data);
byte[] output = writer.GetData();
@@ -396,7 +397,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataTagDataEntry.UcrBgTagDataEntryTestData), MemberType = typeof(IccTestDataTagDataEntry))]
internal void WriteUcrBgTagDataEntry(byte[] expected, IccUcrBgTagDataEntry data, uint size)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteUcrBgTagDataEntry(data);
byte[] output = writer.GetData();
@@ -404,7 +405,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs
index 9fa3e644c..325eac146 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs
@@ -4,14 +4,15 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.DataWriter
{
+ [Trait("Profile", "Icc")]
public class IccDataWriterTests
{
[Fact]
public void WriteEmpty()
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteEmpty(4);
byte[] output = writer.GetData();
@@ -24,7 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[InlineData(4, 4)]
public void WritePadding(int writePosition, int expectedLength)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteEmpty(writePosition);
writer.WritePadding();
@@ -37,7 +38,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataArray.UInt8TestData), MemberType = typeof(IccTestDataArray))]
public void WriteArrayUInt8(byte[] data, byte[] expected)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteArray(data);
byte[] output = writer.GetData();
@@ -49,7 +50,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataArray.UInt16TestData), MemberType = typeof(IccTestDataArray))]
public void WriteArrayUInt16(byte[] expected, ushort[] data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteArray(data);
byte[] output = writer.GetData();
@@ -61,7 +62,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataArray.Int16TestData), MemberType = typeof(IccTestDataArray))]
public void WriteArrayInt16(byte[] expected, short[] data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteArray(data);
byte[] output = writer.GetData();
@@ -73,7 +74,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataArray.UInt32TestData), MemberType = typeof(IccTestDataArray))]
public void WriteArrayUInt32(byte[] expected, uint[] data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteArray(data);
byte[] output = writer.GetData();
@@ -85,7 +86,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataArray.Int32TestData), MemberType = typeof(IccTestDataArray))]
public void WriteArrayInt32(byte[] expected, int[] data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteArray(data);
byte[] output = writer.GetData();
@@ -97,7 +98,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
[MemberData(nameof(IccTestDataArray.UInt64TestData), MemberType = typeof(IccTestDataArray))]
public void WriteArrayUInt64(byte[] expected, ulong[] data)
{
- IccDataWriter writer = this.CreateWriter();
+ using IccDataWriter writer = CreateWriter();
writer.WriteArray(data);
byte[] output = writer.GetData();
@@ -105,7 +106,7 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(expected, output);
}
- private IccDataWriter CreateWriter()
+ private static IccDataWriter CreateWriter()
{
return new IccDataWriter();
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
index a40082f78..ad2619f03 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
@@ -5,8 +5,9 @@ using System;
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc
{
+ [Trait("Profile", "Icc")]
public class IccProfileTests
{
[Theory]
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs
index e9d960ebb..c2b57d0ba 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs
@@ -4,8 +4,9 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc
{
+ [Trait("Profile", "Icc")]
public class IccReaderTests
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
index 0d4495912..bd9f55d3e 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
@@ -4,8 +4,9 @@
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc
{
+ [Trait("Profile", "Icc")]
public class IccWriterTests
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
index b06a52964..aa24d191b 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
@@ -1,11 +1,12 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Icc
+namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.ICC.Various
{
+ [Trait("Profile", "Icc")]
public class IccProfileIdTests
{
[Fact]
@@ -29,4 +30,4 @@ namespace SixLabors.ImageSharp.Tests.Icc
Assert.Equal(4u, id.Part4);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
index b5bb53b5b..3c60f4526 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
@@ -34,7 +34,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.IPTC
// arrange
var profile = new IptcProfile();
var value = new string('s', tag.MaxLength() + 1);
- var expectedLength = tag.MaxLength();
+ int expectedLength = tag.MaxLength();
// act
profile.SetValue(tag, value);
@@ -51,7 +51,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.IPTC
// arrange
var profile = new IptcProfile();
var value = new string('s', tag.MaxLength() + 1);
- var expectedLength = value.Length;
+ int expectedLength = value.Length;
// act
profile.SetValue(tag, value, false);
@@ -228,7 +228,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.IPTC
image.Metadata.IptcProfile.SetValue(IptcTag.Caption, expectedCaption);
// act
- Image reloadedImage = WriteAndReadJpeg(image);
+ using Image reloadedImage = WriteAndReadJpeg(image);
// assert
IptcProfile actual = reloadedImage.Metadata.IptcProfile;
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
index cc7f32bef..a2688359f 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
@@ -110,7 +110,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats.PixelOperations
[Fact]
public void PixelTypeInfoHasCorrectBitsPerPixel()
{
- var bits = this.Operations.GetPixelTypeInfo().BitsPerPixel;
+ int bits = this.Operations.GetPixelTypeInfo().BitsPerPixel;
Assert.Equal(Unsafe.SizeOf() * 8, bits);
}
diff --git a/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs b/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
index ae9befba0..d144c876f 100644
--- a/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
+++ b/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
@@ -1,7 +1,7 @@
// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
-using System.ComponentModel.DataAnnotations;
+using System;
using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
@@ -10,7 +10,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing
{
- public abstract class BaseImageOperationsExtensionTest
+ public abstract class BaseImageOperationsExtensionTest : IDisposable
{
protected readonly IImageProcessingContext operations;
private readonly FakeImageOperationsProvider.FakeImageOperations internalOperations;
@@ -59,5 +59,7 @@ namespace SixLabors.ImageSharp.Tests.Processing
return Assert.IsType(operation.GenericProcessor);
}
+
+ public void Dispose() => this.source?.Dispose();
}
}
diff --git a/tests/ImageSharp.Tests/Processing/Binarization/AdaptiveThresholdTests.cs b/tests/ImageSharp.Tests/Processing/Binarization/AdaptiveThresholdTests.cs
index f4f800107..e6a34d1f0 100644
--- a/tests/ImageSharp.Tests/Processing/Binarization/AdaptiveThresholdTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Binarization/AdaptiveThresholdTests.cs
@@ -9,13 +9,14 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Binarization
{
+ [Trait("Category", "Processors")]
public class AdaptiveThresholdTests : BaseImageOperationsExtensionTest
{
[Fact]
public void AdaptiveThreshold_UsesDefaults_Works()
{
// arrange
- var expectedThresholdLimit = .85f;
+ float expectedThresholdLimit = .85f;
Color expectedUpper = Color.White;
Color expectedLower = Color.Black;
@@ -33,7 +34,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Binarization
public void AdaptiveThreshold_SettingThresholdLimit_Works()
{
// arrange
- var expectedThresholdLimit = .65f;
+ float expectedThresholdLimit = .65f;
// act
this.operations.AdaptiveThreshold(expectedThresholdLimit);
@@ -65,7 +66,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Binarization
public void AdaptiveThreshold_SettingUpperLowerWithThresholdLimit_Works()
{
// arrange
- var expectedThresholdLimit = .77f;
+ float expectedThresholdLimit = .77f;
Color expectedUpper = Color.HotPink;
Color expectedLower = Color.Yellow;
@@ -83,7 +84,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Binarization
public void AdaptiveThreshold_SettingUpperLowerWithThresholdLimit_WithRectangle_Works()
{
// arrange
- var expectedThresholdLimit = .77f;
+ float expectedThresholdLimit = .77f;
Color expectedUpper = Color.HotPink;
Color expectedLower = Color.Yellow;
diff --git a/tests/ImageSharp.Tests/Processing/Binarization/BinaryThresholdTest.cs b/tests/ImageSharp.Tests/Processing/Binarization/BinaryThresholdTest.cs
index a2fb9f9ba..e241f729a 100644
--- a/tests/ImageSharp.Tests/Processing/Binarization/BinaryThresholdTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Binarization/BinaryThresholdTest.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Binarization
{
+ [Trait("Category", "Processors")]
public class BinaryThresholdTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs b/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs
index 0bbb962fc..191b195b4 100644
--- a/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Binarization
{
+ [Trait("Category", "Processors")]
public class OrderedDitherFactoryTests
{
#pragma warning disable SA1025 // Code should not contain multiple whitespace in a row
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs
index eb176f5f0..65d956424 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Convolution
{
+ [Trait("Category", "Processors")]
public class BoxBlurTest : BaseImageOperationsExtensionTest
{
[Fact]
@@ -36,4 +37,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution
Assert.Equal(5, processor.Radius);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/DetectEdgesTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/DetectEdgesTest.cs
index 3ffb8f4e3..56a73b3ff 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/DetectEdgesTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/DetectEdgesTest.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Convolution
{
+ [Trait("Category", "Processors")]
[SuppressMessage("StyleCop.CSharp.NamingRules", "SA1313:Parameter names should begin with lower-case letter", Justification = "OK. Used for TheoryData compatibility.")]
public class DetectEdgesTest : BaseImageOperationsExtensionTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/GaussianBlurTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/GaussianBlurTest.cs
index 26454fcb6..ce21cab5f 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/GaussianBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/GaussianBlurTest.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Convolution
{
+ [Trait("Category", "Processors")]
public class GaussianBlurTest : BaseImageOperationsExtensionTest
{
[Fact]
@@ -36,4 +37,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution
Assert.Equal(.6f, processor.Sigma);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/GaussianSharpenTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/GaussianSharpenTest.cs
index d264e82e1..e94683092 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/GaussianSharpenTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/GaussianSharpenTest.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Convolution
{
+ [Trait("Category", "Processors")]
public class GaussianSharpenTest : BaseImageOperationsExtensionTest
{
[Fact]
@@ -36,4 +37,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution
Assert.Equal(.6f, processor.Sigma);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs b/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs
index 73f6a3f47..31a1fc2d4 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs
@@ -5,7 +5,7 @@ using System;
using SixLabors.ImageSharp.Processing.Processors.Convolution;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
+namespace SixLabors.ImageSharp.Tests.Processing.Convolution.Processors
{
public class LaplacianKernelFactoryTests
{
diff --git a/tests/ImageSharp.Tests/Processing/Dithering/DitherTest.cs b/tests/ImageSharp.Tests/Processing/Dithering/DitherTest.cs
index 9f0a80453..71cee8f7f 100644
--- a/tests/ImageSharp.Tests/Processing/Dithering/DitherTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Dithering/DitherTest.cs
@@ -6,8 +6,9 @@ using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Processors.Dithering;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Binarization
+namespace SixLabors.ImageSharp.Tests.Processing.Dithering
{
+ [Trait("Category", "Processors")]
public class DitherTest : BaseImageOperationsExtensionTest
{
private class Assert : Xunit.Assert
diff --git a/tests/ImageSharp.Tests/Processing/Effects/BackgroundColorTest.cs b/tests/ImageSharp.Tests/Processing/Effects/BackgroundColorTest.cs
index 5bc6256d9..11c90a507 100644
--- a/tests/ImageSharp.Tests/Processing/Effects/BackgroundColorTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Effects/BackgroundColorTest.cs
@@ -3,11 +3,11 @@
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Processors.Overlays;
-using SixLabors.ImageSharp.Tests.TestUtilities;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Effects
{
+ [Trait("Category", "Processors")]
public class BackgroundColorTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs b/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs
index 2fd7ac7ef..c1c0dc07a 100644
--- a/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Effects
{
+ [Trait("Category", "Processors")]
public class OilPaintTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs b/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs
index 33061e1e4..e13b22a94 100644
--- a/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Effects
{
+ [Trait("Category", "Processors")]
public class PixelateTest : BaseImageOperationsExtensionTest
{
[Fact]
@@ -36,4 +37,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Effects
Assert.Equal(23, processor.Size);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Filters/BlackWhiteTest.cs b/tests/ImageSharp.Tests/Processing/Filters/BlackWhiteTest.cs
index f87ace189..6eaa9937b 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/BlackWhiteTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/BlackWhiteTest.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Filters
{
+ [Trait("Category", "Processors")]
public class BlackWhiteTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
index 680a6afdc..7f0330148 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
@@ -6,8 +6,9 @@ using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Processors.Filters;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Effects
+namespace SixLabors.ImageSharp.Tests.Processing.Filters
{
+ [Trait("Category", "Processors")]
public class BrightnessTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Filters/ColorBlindnessTest.cs b/tests/ImageSharp.Tests/Processing/Filters/ColorBlindnessTest.cs
index e65b67815..237f132a4 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/ColorBlindnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/ColorBlindnessTest.cs
@@ -12,6 +12,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Filters
{
+ [Trait("Category", "Processors")]
public class ColorBlindnessTest : BaseImageOperationsExtensionTest
{
public static IEnumerable
/// The pixel type of the image.
+ /// The test image provider.
[Theory]
[WithTestPatternImages(110, 110, PixelTypes.Rgb24)]
[WithTestPatternImages(170, 170, PixelTypes.Rgb24)]
@@ -149,17 +151,55 @@ namespace SixLabors.ImageSharp.Tests.Processing.Normalization
using (Image image = provider.GetImage())
{
var options = new HistogramEqualizationOptions()
- {
- Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
- LuminanceLevels = 256,
- ClipHistogram = true,
- ClipLimit = 5,
- NumberOfTiles = 10
- };
+ {
+ Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
+ LuminanceLevels = 256,
+ ClipHistogram = true,
+ ClipLimit = 5,
+ NumberOfTiles = 10
+ };
image.Mutate(x => x.HistogramEqualization(options));
image.DebugSave(provider);
image.CompareToReferenceOutput(ValidatorComparer, provider);
}
}
+
+ [Theory]
+ [WithTestPatternImages(5120, 9234, PixelTypes.L16)]
+ public unsafe void Issue1640(TestImageProvider provider)
+ where TPixel : unmanaged, IPixel
+ {
+ if (!TestEnvironment.Is64BitProcess)
+ {
+ return;
+ }
+
+ // https://github.com/SixLabors/ImageSharp/discussions/1640
+ // Test using isolated memory to ensure clean buffers for reference
+ provider.Configuration = Configuration.CreateDefaultInstance();
+ var options = new HistogramEqualizationOptions
+ {
+ Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
+ LuminanceLevels = 4096,
+ ClipHistogram = false,
+ ClipLimit = 350,
+ NumberOfTiles = 8
+ };
+
+ using Image image = provider.GetImage();
+ using Image referenceResult = image.Clone(ctx =>
+ {
+ ctx.HistogramEqualization(options);
+ ctx.Resize(image.Width / 4, image.Height / 4, KnownResamplers.Bicubic);
+ });
+
+ using Image processed = image.Clone(ctx =>
+ {
+ ctx.HistogramEqualization(options);
+ ctx.Resize(image.Width / 4, image.Height / 4, KnownResamplers.Bicubic);
+ });
+
+ ValidatorComparer.VerifySimilarity(referenceResult, processed);
+ }
}
}
diff --git a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
index 8bc0a2c97..a84751f5a 100644
--- a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
@@ -1,14 +1,13 @@
// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
-using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Processors.Overlays;
-using SixLabors.ImageSharp.Tests.TestUtilities;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Overlays
{
+ [Trait("Category", "Processors")]
public class GlowTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs b/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
index 32e8ba384..3e0c851d2 100644
--- a/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
@@ -3,11 +3,11 @@
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Processors.Overlays;
-using SixLabors.ImageSharp.Tests.TestUtilities;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Overlays
{
+ [Trait("Category", "Processors")]
public class VignetteTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
index 24e52d5d0..0103b138a 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
@@ -11,6 +11,7 @@ using Xunit;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Binarization
{
+ [Trait("Category", "Processors")]
public class BinaryDitherTests
{
public static readonly string[] CommonTestImages =
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
index fd08eb2de..446ac70d4 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
@@ -4,12 +4,12 @@
using System.Globalization;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
-using SixLabors.ImageSharp.Processing.Processors.Binarization;
using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Binarization
{
+ [Trait("Category", "Processors")]
public class BinaryThresholdTest
{
public static readonly TheoryData BinaryThresholdValues
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
index dbf59a29b..2351cbb91 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
@@ -16,6 +16,7 @@ using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
{
+ [Trait("Category", "Processors")]
public class BokehBlurTest
{
private static readonly string Components10x2 = @"
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BoxBlurTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BoxBlurTest.cs
index 529a4b49c..eadee0c2e 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BoxBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BoxBlurTest.cs
@@ -1,10 +1,12 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
+using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
{
+ [Trait("Category", "Processors")]
[GroupOutput("Convolution")]
public class BoxBlurTest : Basic1ParameterConvolutionTests
{
@@ -13,4 +15,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
protected override void Apply(IImageProcessingContext ctx, int value, Rectangle bounds) =>
ctx.BoxBlur(value, bounds);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
index e468778de..cc28bf304 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
@@ -11,6 +11,7 @@ using Xunit;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
{
+ [Trait("Category", "Processors")]
[GroupOutput("Convolution")]
[SuppressMessage("StyleCop.CSharp.NamingRules", "SA1313:Parameter names should begin with lower-case letter", Justification = "OK. Used for TheoryData compatibility.")]
public class DetectEdgesTest
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianBlurTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianBlurTest.cs
index 31b3d20db..44fe673ec 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianBlurTest.cs
@@ -1,10 +1,12 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
+using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
{
+ [Trait("Category", "Processors")]
[GroupOutput("Convolution")]
public class GaussianBlurTest : Basic1ParameterConvolutionTests
{
@@ -13,4 +15,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
protected override void Apply(IImageProcessingContext ctx, int value, Rectangle bounds) =>
ctx.GaussianBlur(value, bounds);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianSharpenTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianSharpenTest.cs
index 7d3e91803..2b4f38e89 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianSharpenTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/GaussianSharpenTest.cs
@@ -2,9 +2,11 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
+using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
{
+ [Trait("Category", "Processors")]
[GroupOutput("Convolution")]
public class GaussianSharpenTest : Basic1ParameterConvolutionTests
{
@@ -13,4 +15,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Convolution
protected override void Apply(IImageProcessingContext ctx, int value, Rectangle bounds) =>
ctx.GaussianSharpen(value, bounds);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
index 5c1b5da7f..36ce5029c 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
@@ -8,8 +8,9 @@ using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Processors.Binarization
+namespace SixLabors.ImageSharp.Tests.Processing.Processors.Dithering
{
+ [Trait("Category", "Processors")]
public class DitherTests
{
public const PixelTypes CommonNonDefaultPixelTypes =
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/BackgroundColorTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/BackgroundColorTest.cs
index b29e45221..acf2c0613 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/BackgroundColorTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/BackgroundColorTest.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
{
+ [Trait("Category", "Processors")]
[GroupOutput("Effects")]
public class BackgroundColorTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs
index 0d68a860d..1dcd8181f 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
{
+ [Trait("Category", "Processors")]
[GroupOutput("Effects")]
public class OilPaintTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
index 919cb3137..6edde73cd 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
@@ -11,6 +11,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
{
+ [Trait("Category", "Processors")]
[GroupOutput("Effects")]
public class PixelShaderTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs
index 2173cbef8..e4de119fc 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
{
+ [Trait("Category", "Processors")]
[GroupOutput("Effects")]
public class PixelateTest
{
@@ -30,4 +31,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
provider.RunRectangleConstrainedValidatingProcessorTest((x, rect) => x.Pixelate(value, rect), value);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/BlackWhiteTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/BlackWhiteTest.cs
index fdcc3c6f7..0927a8b81 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/BlackWhiteTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/BlackWhiteTest.cs
@@ -1,15 +1,14 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
- using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class BlackWhiteTest
{
@@ -21,4 +20,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
provider.RunValidatingProcessorTest(ctx => ctx.BlackWhite(), comparer: ImageComparer.TolerantPercentage(0.002f));
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs
index d7e5b13cc..97f04440b 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs
@@ -2,14 +2,13 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
+namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
- using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class BrightnessTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs
index a007f7194..f86858c84 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs
@@ -1,15 +1,14 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
- using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class ColorBlindnessTest
{
@@ -33,4 +32,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
public void ApplyColorBlindnessFilter(TestImageProvider provider, ColorBlindnessMode colorBlindness)
where TPixel : unmanaged, IPixel => provider.RunValidatingProcessorTest(x => x.ColorBlindness(colorBlindness), colorBlindness.ToString(), this.imageComparer);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs
index 25fe9c84c..81a7e24ff 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs
@@ -2,13 +2,12 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
+namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class ContrastTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/FilterTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/FilterTest.cs
index 535179cb1..b5c0e583c 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/FilterTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/FilterTest.cs
@@ -2,14 +2,13 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
+using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp;
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class FilterTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs
index 279b699ee..c568188fb 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs
@@ -2,13 +2,12 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class GrayscaleTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs
index 3538f0dba..0c2b455e3 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs
@@ -2,13 +2,12 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class HueTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/InvertTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/InvertTest.cs
index a2e0b0b4b..8c435d23a 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/InvertTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/InvertTest.cs
@@ -1,14 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
+namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class InvertTest
{
@@ -20,4 +19,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
provider.RunValidatingProcessorTest(x => x.Invert());
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/KodachromeTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/KodachromeTest.cs
index f21d45836..2fecac32c 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/KodachromeTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/KodachromeTest.cs
@@ -1,14 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class KodachromeTest
{
@@ -20,4 +19,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
provider.RunValidatingProcessorTest(x => x.Kodachrome());
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs
index c924ddc4f..69fa8cdea 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs
@@ -2,14 +2,13 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
+namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
- using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class LightnessTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/LomographTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/LomographTest.cs
index a7ef2f862..e5621b592 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/LomographTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/LomographTest.cs
@@ -1,14 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class LomographTest
{
@@ -20,4 +19,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
provider.RunValidatingProcessorTest(x => x.Lomograph());
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs
index 64025a6fb..645746a21 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs
@@ -2,13 +2,12 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
-namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects
+namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class OpacityTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/PolaroidTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/PolaroidTest.cs
index 8be43efa9..8077051cd 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/PolaroidTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/PolaroidTest.cs
@@ -1,14 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class PolaroidTest
{
@@ -20,4 +19,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
provider.RunValidatingProcessorTest(x => x.Polaroid());
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs
index 91c6e4af8..e10243289 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs
@@ -2,13 +2,12 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class SaturateTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/SepiaTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/SepiaTest.cs
index af2c2136a..86e3050c2 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/SepiaTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/SepiaTest.cs
@@ -1,14 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
[GroupOutput("Filters")]
public class SepiaTest
{
@@ -20,4 +19,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters
provider.RunValidatingProcessorTest(x => x.Sepia());
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Overlays/GlowTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Overlays/GlowTest.cs
index f0d6b784b..0a2b9921c 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Overlays/GlowTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Overlays/GlowTest.cs
@@ -1,10 +1,12 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
+using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Overlays
{
+ [Trait("Category", "Processors")]
[GroupOutput("Overlays")]
public class GlowTest : OverlayTestBase
{
@@ -15,4 +17,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Overlays
protected override void Apply(IImageProcessingContext ctx, Rectangle rect) => ctx.Glow(rect);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Overlays/OverlayTestBase.cs b/tests/ImageSharp.Tests/Processing/Processors/Overlays/OverlayTestBase.cs
index fa4d422b1..6814a9132 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Overlays/OverlayTestBase.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Overlays/OverlayTestBase.cs
@@ -9,6 +9,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Overlays
{
+ [Trait("Category", "Processors")]
[GroupOutput("Overlays")]
public abstract class OverlayTestBase
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Overlays/VignetteTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Overlays/VignetteTest.cs
index 6eccde4bc..3a6c8a11a 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Overlays/VignetteTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Overlays/VignetteTest.cs
@@ -1,10 +1,12 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
+using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Overlays
{
+ [Trait("Category", "Processors")]
[GroupOutput("Overlays")]
public class VignetteTest : OverlayTestBase
{
@@ -15,4 +17,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Overlays
protected override void Apply(IImageProcessingContext ctx, Rectangle rect) => ctx.Vignette(rect);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
index 2b4460429..cccb77e86 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Quantization
{
+ [Trait("Category", "Processors")]
public class OctreeQuantizerTests
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
index 0df498cd1..991a2bcb7 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
@@ -8,9 +8,10 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Quantization
{
+ [Trait("Category", "Processors")]
public class PaletteQuantizerTests
{
- private static readonly Color[] Palette = new Color[] { Color.Red, Color.Green, Color.Blue };
+ private static readonly Color[] Palette = { Color.Red, Color.Green, Color.Blue };
[Fact]
public void PaletteQuantizerConstructor()
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/QuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/QuantizerTests.cs
index 3f4656d41..af1d7f3f3 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/QuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/QuantizerTests.cs
@@ -11,6 +11,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Quantization
{
+ [Trait("Category", "Processors")]
public class QuantizerTests
{
///
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
index 8881aa9ad..639f8fd2d 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Quantization
{
+ [Trait("Category", "Processors")]
public class WuQuantizerTests
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs
index 49a443d92..d2d2fcc1f 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs
@@ -14,6 +14,7 @@ using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class AffineTransformTests
{
private readonly ITestOutputHelper output;
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
index 44f88c3a2..38fde5060 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
@@ -11,6 +11,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
[GroupOutput("Transforms")]
public class AutoOrientTests
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
index 78c35fa9b..52f3b65de 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using System;
@@ -11,6 +11,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
[GroupOutput("Transforms")]
public class CropTest
{
@@ -29,4 +30,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
comparer: ImageComparer.Exact);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
index 16668fb20..4e8a65ddc 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
[GroupOutput("Transforms")]
public class EntropyCropTest
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs
index c094febc9..b9f0fb9e8 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs
@@ -9,6 +9,7 @@ using Xunit;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
[GroupOutput("Transforms")]
public class FlipTests
{
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs
index 2ea833640..b1441d109 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
public class PadTest
{
public static readonly string[] CommonTestImages =
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResamplerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResamplerTests.cs
index 4691fc82b..43fe196f7 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResamplerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResamplerTests.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
public class ResamplerTests
{
[Theory]
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
index ceee3e7e0..253d29eea 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
public class ResizeHelperTests
{
[Theory]
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
index da567f18c..dfab25b11 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
@@ -5,9 +5,11 @@ using System.Collections.Generic;
using System.Linq;
using SixLabors.ImageSharp.Processing.Processors.Transforms;
+using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
public partial class ResizeKernelMapTests
{
///
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs
index 991bca80e..f15a6242d 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs
@@ -13,6 +13,7 @@ using Xunit.Abstractions;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
public partial class ResizeKernelMapTests
{
private ITestOutputHelper Output { get; }
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
index 58b7fd12e..42cf1e3c1 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
@@ -5,7 +5,6 @@ using System;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
-using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Processors.Transforms;
@@ -16,6 +15,7 @@ using Xunit;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
public class ResizeTests
{
private const PixelTypes CommonNonDefaultPixelTypes =
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs
index 398039e43..0648c48b4 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs
@@ -1,14 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
-
+using SixLabors.ImageSharp.Processing;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
- using SixLabors.ImageSharp.Processing;
-
+ [Trait("Category", "Processors")]
public class RotateFlipTests
{
public static readonly string[] FlipFiles = { TestImages.Bmp.F };
@@ -36,4 +35,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
}
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs
index 1e888a51a..61b63d064 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
[GroupOutput("Transforms")]
public class RotateTests
{
@@ -43,4 +44,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
provider.RunValidatingProcessorTest(ctx => ctx.Rotate(value), value, appendPixelTypeToFileName: false);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs
index 2fd87de29..05d5095af 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
@@ -10,6 +10,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
[GroupOutput("Transforms")]
public class SkewTests
{
@@ -64,4 +65,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
appendPixelTypeToFileName: false);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs
index f508744fa..61af13ea3 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs
@@ -10,6 +10,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms
{
+ [Trait("Category", "Processors")]
[GroupOutput("Transforms")]
public class SwizzleTests
{
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/AutoOrientTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/AutoOrientTests.cs
index 50fff725b..1b681a82f 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/AutoOrientTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/AutoOrientTests.cs
@@ -1,13 +1,13 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
+using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Processing.Processors.Transforms;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
- using SixLabors.ImageSharp.Processing;
- using SixLabors.ImageSharp.Processing.Processors.Transforms;
-
+ [Trait("Category", "Processors")]
public class AutoOrientTests : BaseImageOperationsExtensionTest
{
[Fact]
@@ -17,4 +17,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
this.Verify();
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
index 9fa75448b..ed56f681c 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using System;
@@ -9,6 +9,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class CropTest : BaseImageOperationsExtensionTest
{
[Theory]
@@ -41,4 +42,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
Assert.Throws(() => this.operations.Crop(cropRectangle));
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/EntropyCropTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/EntropyCropTest.cs
index f2ca8dee5..53fa02edb 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/EntropyCropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/EntropyCropTest.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class EntropyCropTest : BaseImageOperationsExtensionTest
{
[Theory]
@@ -20,4 +21,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
Assert.Equal(threshold, processor.Threshold);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/FlipTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/FlipTests.cs
index 3f6e26b8e..843cd3040 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/FlipTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/FlipTests.cs
@@ -1,13 +1,13 @@
// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
+using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Processing.Processors.Transforms;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
- using SixLabors.ImageSharp.Processing;
- using SixLabors.ImageSharp.Processing.Processors.Transforms;
-
+ [Trait("Category", "Processors")]
public class FlipTests : BaseImageOperationsExtensionTest
{
[Theory]
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs
index 3f49b0f02..227e470d4 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class PadTest : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs
index d95992d6b..2f0f8f6ac 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs
@@ -1,12 +1,13 @@
// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
-using System;
using System.Numerics;
using SixLabors.ImageSharp.Processing;
+using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class ProjectiveTransformBuilderTests : TransformBuilderTestBase
{
protected override ProjectiveTransformBuilder CreateBuilder()
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
index 2fd5f2a7d..ef8e03763 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
@@ -14,6 +14,7 @@ using Xunit.Abstractions;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class ProjectiveTransformTests
{
private static readonly ImageComparer ValidatorComparer = ImageComparer.TolerantPercentage(0.03f, 3);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
index 5f426083c..60f7aaa0b 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
@@ -9,6 +9,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class ResizeTests : BaseImageOperationsExtensionTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/RotateFlipTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/RotateFlipTests.cs
index 379d39966..90a96972a 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/RotateFlipTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/RotateFlipTests.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class RotateFlipTests : BaseImageOperationsExtensionTest
{
[Theory]
@@ -32,4 +33,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
Assert.Equal(flip, flipProcessor.FlipMode);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/RotateTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/RotateTests.cs
index 6f7dbd9de..b79bb29eb 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/RotateTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/RotateTests.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class RotateTests : BaseImageOperationsExtensionTest
{
[Theory]
@@ -34,4 +35,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
Assert.Equal(expectedAngle, processor.Degrees);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/SkewTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/SkewTest.cs
index de276b427..06282494a 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/SkewTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/SkewTest.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Processing;
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class SkewTest : BaseImageOperationsExtensionTest
{
[Fact]
@@ -20,4 +21,4 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
Assert.Equal(20, processor.DegreesY);
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs
index cde6aeca3..a6d032335 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs
@@ -7,6 +7,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class SwizzleTests : BaseImageOperationsExtensionTest
{
private struct InvertXAndYSwizzler : ISwizzler
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs b/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs
index 2e0dfd59e..d4540e433 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs
@@ -9,6 +9,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public abstract class TransformBuilderTestBase
{
private static readonly ApproximateFloatComparer Comparer = new ApproximateFloatComparer(1e-6f);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/TransformsHelpersTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/TransformsHelpersTest.cs
index 81c415c06..869162b38 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/TransformsHelpersTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/TransformsHelpersTest.cs
@@ -8,6 +8,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
+ [Trait("Category", "Processors")]
public class TransformsHelpersTest
{
[Fact]
diff --git a/tests/ImageSharp.Tests/TestFormat.cs b/tests/ImageSharp.Tests/TestFormat.cs
index 7273a65f7..c8d0633d7 100644
--- a/tests/ImageSharp.Tests/TestFormat.cs
+++ b/tests/ImageSharp.Tests/TestFormat.cs
@@ -38,7 +38,7 @@ namespace SixLabors.ImageSharp.Tests
public TestDecoder Decoder { get; }
- private byte[] header = Guid.NewGuid().ToByteArray();
+ private readonly byte[] header = Guid.NewGuid().ToByteArray();
public MemoryStream CreateStream(byte[] marker = null)
{
@@ -119,16 +119,16 @@ namespace SixLabors.ImageSharp.Tests
public IEnumerable FileExtensions => this.SupportedExtensions;
- public bool IsSupportedFileFormat(ReadOnlySpan header)
+ public bool IsSupportedFileFormat(ReadOnlySpan fileHeader)
{
- if (header.Length < this.header.Length)
+ if (fileHeader.Length < this.header.Length)
{
return false;
}
for (int i = 0; i < this.header.Length; i++)
{
- if (header[i] != this.header[i])
+ if (fileHeader[i] != this.header[i])
{
return false;
}
@@ -137,11 +137,11 @@ namespace SixLabors.ImageSharp.Tests
return true;
}
- public void Configure(Configuration host)
+ public void Configure(Configuration configuration)
{
- host.ImageFormatsManager.AddImageFormatDetector(new TestHeader(this));
- host.ImageFormatsManager.SetEncoder(this, new TestEncoder(this));
- host.ImageFormatsManager.SetDecoder(this, new TestDecoder(this));
+ configuration.ImageFormatsManager.AddImageFormatDetector(new TestHeader(this));
+ configuration.ImageFormatsManager.SetEncoder(this, new TestEncoder(this));
+ configuration.ImageFormatsManager.SetDecoder(this, new TestDecoder(this));
}
public struct DecodeOperation
@@ -177,7 +177,7 @@ namespace SixLabors.ImageSharp.Tests
public class TestHeader : IImageFormatDetector
{
- private TestFormat testFormat;
+ private readonly TestFormat testFormat;
public int HeaderSize => this.testFormat.HeaderSize;
@@ -199,7 +199,7 @@ namespace SixLabors.ImageSharp.Tests
public class TestDecoder : IImageDecoder, IImageInfoDetector
{
- private TestFormat testFormat;
+ private readonly TestFormat testFormat;
public TestDecoder(TestFormat testFormat)
{
@@ -212,20 +212,20 @@ namespace SixLabors.ImageSharp.Tests
public int HeaderSize => this.testFormat.HeaderSize;
- public Image Decode(Configuration config, Stream stream)
+ public Image Decode(Configuration configuration, Stream stream)
where TPixel : unmanaged, IPixel
- => this.DecodeImpl(config, stream, default).GetAwaiter().GetResult();
+ => this.DecodeImpl(configuration, stream, default).GetAwaiter().GetResult();
- public Task> DecodeAsync(Configuration config, Stream stream, CancellationToken cancellationToken)
+ public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken)
where TPixel : unmanaged, IPixel
- => this.DecodeImpl(config, stream, cancellationToken);
+ => this.DecodeImpl(configuration, stream, cancellationToken);
private async Task> DecodeImpl(Configuration config, Stream stream, CancellationToken cancellationToken)
where TPixel : unmanaged, IPixel
{
var ms = new MemoryStream();
await stream.CopyToAsync(ms, config.StreamProcessingBufferSize, cancellationToken);
- var marker = ms.ToArray().Skip(this.testFormat.header.Length).ToArray();
+ byte[] marker = ms.ToArray().Skip(this.testFormat.header.Length).ToArray();
this.testFormat.DecodeCalls.Add(new DecodeOperation
{
Marker = marker,
@@ -251,9 +251,9 @@ namespace SixLabors.ImageSharp.Tests
=> await this.DecodeImpl(configuration, stream, cancellationToken);
}
- public class TestEncoder : ImageSharp.Formats.IImageEncoder
+ public class TestEncoder : IImageEncoder
{
- private TestFormat testFormat;
+ private readonly TestFormat testFormat;
public TestEncoder(TestFormat testFormat)
{
diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs
index 49d0e759c..09394d4ea 100644
--- a/tests/ImageSharp.Tests/TestImages.cs
+++ b/tests/ImageSharp.Tests/TestImages.cs
@@ -558,6 +558,8 @@ namespace SixLabors.ImageSharp.Tests
public const string RgbPalette = "Tiff/rgb_palette.tiff";
public const string Rgb4BitPalette = "Tiff/bike_colorpalette_4bit.tiff";
public const string RgbPaletteDeflate = "Tiff/rgb_palette_deflate.tiff";
+ public const string Flower4BitPalette = "Tiff/flower-palette-04.tiff";
+ public const string Flower4BitPaletteGray = "Tiff/flower-minisblack-04.tiff";
public const string SmallRgbDeflate = "Tiff/rgb_small_deflate.tiff";
public const string SmallRgbLzw = "Tiff/rgb_small_lzw.tiff";
diff --git a/tests/ImageSharp.Tests/TestUtilities/Attributes/ImageDataAttributeBase.cs b/tests/ImageSharp.Tests/TestUtilities/Attributes/ImageDataAttributeBase.cs
index 0cf76a389..12db71e66 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Attributes/ImageDataAttributeBase.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Attributes/ImageDataAttributeBase.cs
@@ -73,7 +73,7 @@ namespace SixLabors.ImageSharp.Tests
if (!addedRows.Any())
{
- addedRows = new[] { new object[0] };
+ addedRows = new[] { Array.Empty() };
}
bool firstIsProvider = this.FirstIsProvider(testMethod);
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs
index f186ed318..7612b663a 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
-using System.Numerics;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
@@ -65,7 +64,7 @@ namespace SixLabors.ImageSharp.Tests
///
/// Draws the test pattern on an image by drawing 4 other patterns in the for quadrants of the image.
///
- /// The image to rdaw on.
+ /// The image to draw on.
private static void DrawTestPattern(Image image)
{
// first lets split the image into 4 quadrants
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs b/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs
index 8a038a691..07acabccf 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs
@@ -97,7 +97,7 @@ namespace SixLabors.ImageSharp.Tests
details = '_' + details;
}
- return TestUtils.AsInvariantString($"{this.GetTestOutputDir()}/{this.TestName}{pixName}{fn}{details}{extension}");
+ return TestUtils.AsInvariantString($"{this.GetTestOutputDir()}{Path.DirectorySeparatorChar}{this.TestName}{pixName}{fn}{details}{extension}");
}
///
diff --git a/tests/ImageSharp.Tests/TestUtilities/PausedStream.cs b/tests/ImageSharp.Tests/TestUtilities/PausedStream.cs
new file mode 100644
index 000000000..4d3646301
--- /dev/null
+++ b/tests/ImageSharp.Tests/TestUtilities/PausedStream.cs
@@ -0,0 +1,145 @@
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
+using System.IO;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace SixLabors.ImageSharp.Tests.TestUtilities
+{
+ public class PausedStream : Stream
+ {
+ private readonly SemaphoreSlim semaphore = new SemaphoreSlim(0);
+
+ private readonly CancellationTokenSource cancelationTokenSource = new CancellationTokenSource();
+
+ private readonly Stream innerStream;
+ private Action onWaitingCallback;
+
+ public void OnWaiting(Action onWaitingCallback) => this.onWaitingCallback = onWaitingCallback;
+
+ public void OnWaiting(Action onWaitingCallback) => this.OnWaiting(_ => onWaitingCallback());
+
+ public void Release()
+ {
+ this.semaphore.Release();
+ this.cancelationTokenSource.Cancel();
+ }
+
+ public void Next() => this.semaphore.Release();
+
+ private void Wait()
+ {
+ if (this.cancelationTokenSource.IsCancellationRequested)
+ {
+ return;
+ }
+
+ this.onWaitingCallback?.Invoke(this.innerStream);
+
+ try
+ {
+ this.semaphore.Wait(this.cancelationTokenSource.Token);
+ }
+ catch (OperationCanceledException)
+ {
+ // ignore this as its just used to unlock any waits in progress
+ }
+ }
+
+ private async Task Await(Func action)
+ {
+ await Task.Yield();
+ this.Wait();
+ await action();
+ }
+
+ private async Task Await(Func> action)
+ {
+ await Task.Yield();
+ this.Wait();
+ return await action();
+ }
+
+ private T Await(Func action)
+ {
+ this.Wait();
+ return action();
+ }
+
+ private void Await(Action action)
+ {
+ this.Wait();
+ action();
+ }
+
+ public PausedStream(byte[] data)
+ : this(new MemoryStream(data))
+ {
+ }
+
+ public PausedStream(string filePath)
+ : this(File.OpenRead(filePath))
+ {
+ }
+
+ public PausedStream(Stream innerStream) => this.innerStream = innerStream;
+
+ public override bool CanTimeout => this.innerStream.CanTimeout;
+
+ public override void Close() => this.Await(() => this.innerStream.Close());
+
+ public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken) => this.Await(() => this.innerStream.CopyToAsync(destination, bufferSize, cancellationToken));
+
+ public override bool CanRead => this.innerStream.CanRead;
+
+ public override bool CanSeek => this.innerStream.CanSeek;
+
+ public override bool CanWrite => this.innerStream.CanWrite;
+
+ public override long Length => this.Await(() => this.innerStream.Length);
+
+ public override long Position { get => this.Await(() => this.innerStream.Position); set => this.Await(() => this.innerStream.Position = value); }
+
+ public override void Flush() => this.Await(() => this.innerStream.Flush());
+
+ public override int Read(byte[] buffer, int offset, int count) => this.Await(() => this.innerStream.Read(buffer, offset, count));
+
+ public override long Seek(long offset, SeekOrigin origin) => this.Await(() => this.innerStream.Seek(offset, origin));
+
+ public override void SetLength(long value) => this.Await(() => this.innerStream.SetLength(value));
+
+ public override void Write(byte[] buffer, int offset, int count) => this.Await(() => this.innerStream.Write(buffer, offset, count));
+
+ public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) => this.Await(() => this.innerStream.ReadAsync(buffer, offset, count, cancellationToken));
+
+ public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) => this.Await(() => this.innerStream.WriteAsync(buffer, offset, count, cancellationToken));
+
+ public override void WriteByte(byte value) => this.Await(() => this.innerStream.WriteByte(value));
+
+ public override int ReadByte() => this.Await(() => this.innerStream.ReadByte());
+
+ protected override void Dispose(bool disposing) => this.innerStream.Dispose();
+
+#if NETCOREAPP
+ public override void CopyTo(Stream destination, int bufferSize) => this.Await(() => this.innerStream.CopyTo(destination, bufferSize));
+
+ public override int Read(Span buffer)
+ {
+ this.Wait();
+ return this.innerStream.Read(buffer);
+ }
+
+ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken = default) => this.Await(() => this.innerStream.ReadAsync(buffer, cancellationToken));
+
+ public override void Write(ReadOnlySpan buffer)
+ {
+ this.Wait();
+ this.innerStream.Write(buffer);
+ }
+
+ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default) => this.Await(() => this.innerStream.WriteAsync(buffer, cancellationToken));
+#endif
+ }
+}
diff --git a/tests/ImageSharp.Tests/TestUtilities/SingleStreamFileSystem.cs b/tests/ImageSharp.Tests/TestUtilities/SingleStreamFileSystem.cs
new file mode 100644
index 000000000..ddd1ec750
--- /dev/null
+++ b/tests/ImageSharp.Tests/TestUtilities/SingleStreamFileSystem.cs
@@ -0,0 +1,19 @@
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
+
+using System.IO;
+using SixLabors.ImageSharp.IO;
+
+namespace SixLabors.ImageSharp.Tests.TestUtilities
+{
+ internal class SingleStreamFileSystem : IFileSystem
+ {
+ private readonly Stream stream;
+
+ public SingleStreamFileSystem(Stream stream) => this.stream = stream;
+
+ Stream IFileSystem.Create(string path) => this.stream;
+
+ Stream IFileSystem.OpenRead(string path) => this.stream;
+ }
+}
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs b/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs
index 5f41021a0..32b5eaf18 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs
@@ -7,7 +7,6 @@ using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
-using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
@@ -354,7 +353,7 @@ namespace SixLabors.ImageSharp.Tests
}
}
- public static string AsInvariantString(this FormattableString formattable) => System.FormattableString.Invariant(formattable);
+ public static string AsInvariantString(this FormattableString formattable) => FormattableString.Invariant(formattable);
public static IResampler GetResampler(string name)
{
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs
index 87f8cb8c1..92f972941 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs
@@ -1,13 +1,12 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using System.IO;
using System.Threading;
using System.Threading.Tasks;
-using SixLabors.ImageSharp.Tests.TestUtilities;
using Xunit;
-namespace SixLabors.ImageSharp.Tests
+namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests
{
public class SemaphoreReadMemoryStreamTests
{
diff --git a/tests/Images/Input/Tiff/flower-minisblack-04.tiff b/tests/Images/Input/Tiff/flower-minisblack-04.tiff
new file mode 100644
index 000000000..e6d1e1336
--- /dev/null
+++ b/tests/Images/Input/Tiff/flower-minisblack-04.tiff
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:18991fca75a89b3d15c7f93dee0454e3943920b595ba16145ebc1fd8bd45b1f5
+size 1905
diff --git a/tests/Images/Input/Tiff/flower-palette-04.tiff b/tests/Images/Input/Tiff/flower-palette-04.tiff
new file mode 100644
index 000000000..8594a0b00
--- /dev/null
+++ b/tests/Images/Input/Tiff/flower-palette-04.tiff
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:700ec8103b4197c415ba90d983a7d5f471f155fd5b1c952d86ee9becba898a1a
+size 2010