Browse Source

ResizeTests use CompareToReferenceOutput now!

af/merge-core
Anton Firszov 9 years ago
parent
commit
932c67bd9d
  1. 5
      tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
  2. 54
      tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
  3. 2
      tests/Images/External

5
tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs

@ -16,8 +16,7 @@ namespace ImageSharp.Tests.Processing.Processors.Convolution
public class DetectEdgesTest : FileTestBase public class DetectEdgesTest : FileTestBase
{ {
public static readonly string[] CommonTestImages = { TestImages.Png.Bike }; public static readonly string[] CommonTestImages = { TestImages.Png.Bike };
public static readonly string[] GrayscaleTestImages = { TestImages.Png.BikeGrayscale };
public static readonly TheoryData<EdgeDetection> DetectEdgesFilters = new TheoryData<EdgeDetection> public static readonly TheoryData<EdgeDetection> DetectEdgesFilters = new TheoryData<EdgeDetection>
{ {
EdgeDetection.Kayyali, EdgeDetection.Kayyali,
@ -70,7 +69,7 @@ namespace ImageSharp.Tests.Processing.Processors.Convolution
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void DetectEdges_InBox<TPixel>(TestImageProvider<TPixel> provider) public void DetectEdges_InBox<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {

54
tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs

@ -8,15 +8,15 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
{ {
using ImageSharp.PixelFormats; using ImageSharp.PixelFormats;
using ImageSharp.Processing; using ImageSharp.Processing;
using ImageSharp.Tests.TestUtilities.ImageComparison;
using SixLabors.Primitives; using SixLabors.Primitives;
using Xunit; using Xunit;
public class ResizeTests : FileTestBase public class ResizeTests : FileTestBase
{ {
public static readonly string[] CommonTestImages = { TestImages.Png.CalliphoraPartial }; public static readonly string[] CommonTestImages = { TestImages.Png.CalliphoraPartial };
public static readonly string[] GrayscaleTestImages = { TestImages.Png.CalliphoraPartialGrayscale };
public static readonly TheoryData<string, IResampler> AllReSamplers = public static readonly TheoryData<string, IResampler> AllReSamplers =
new TheoryData<string, IResampler> new TheoryData<string, IResampler>
{ {
@ -47,7 +47,7 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
SizeF newSize = image.Size() * ratio; SizeF newSize = image.Size() * ratio;
image.Mutate(x => x.Resize((Size)newSize, sampler, false)); image.Mutate(x => x.Resize((Size)newSize, sampler, false));
string details = $"{name}-{ratio}"; string details = $"{name}-{ratio}";
image.DebugSave(provider, details); image.CompareToReferenceOutput(provider, details);
} }
} }
@ -59,7 +59,7 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
using (Image<TPixel> image = provider.GetImage()) using (Image<TPixel> image = provider.GetImage())
{ {
image.Mutate(x => x.Resize(image.Size() / 2, true)); image.Mutate(x => x.Resize(image.Size() / 2, true));
image.DebugSave(provider); image.CompareToReferenceOutput(provider);
} }
} }
@ -71,7 +71,7 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
using (Image<TPixel> image = provider.GetImage()) using (Image<TPixel> image = provider.GetImage())
{ {
image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2, true)); image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2, true));
image.DebugSave(provider); image.CompareToReferenceOutput(provider);
} }
} }
@ -83,12 +83,14 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
using (Image<TPixel> image = provider.GetImage()) using (Image<TPixel> image = provider.GetImage())
{ {
image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2, true)); image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2, true));
// Comparer fights decoder with gif-s. Could not use CompareToReferenceOutput here :(
image.DebugSave(provider, extension: Extensions.Gif); image.DebugSave(provider, extension: Extensions.Gif);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeFromSourceRectangle<TPixel>(TestImageProvider<TPixel> provider) public void ResizeFromSourceRectangle<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -98,36 +100,36 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
var destRectangle = new Rectangle(image.Width / 4, image.Height / 4, image.Width / 2, image.Height / 2); var destRectangle = new Rectangle(image.Width / 4, image.Height / 4, image.Width / 2, image.Height / 2);
image.Mutate(x => x.Resize(image.Width, image.Height, new BicubicResampler(), sourceRectangle, destRectangle, false)); image.Mutate(x => x.Resize(image.Width, image.Height, new BicubicResampler(), sourceRectangle, destRectangle, false));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWidthAndKeepAspect<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWidthAndKeepAspect<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
using (Image<TPixel> image = provider.GetImage()) using (Image<TPixel> image = provider.GetImage())
{ {
image.Mutate(x => x.Resize(image.Width / 3, 0, false)); image.Mutate(x => x.Resize(image.Width / 3, 0, false));
image.DebugSave(provider); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeHeightAndKeepAspect<TPixel>(TestImageProvider<TPixel> provider) public void ResizeHeightAndKeepAspect<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
using (Image<TPixel> image = provider.GetImage()) using (Image<TPixel> image = provider.GetImage())
{ {
image.Mutate(x => x.Resize(0, image.Height / 3, false)); image.Mutate(x => x.Resize(0, image.Height / 3, false));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWithCropWidthMode<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWithCropWidthMode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -139,12 +141,12 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
}; };
image.Mutate(x => x.Resize(options)); image.Mutate(x => x.Resize(options));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWithCropHeightMode<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWithCropHeightMode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -156,12 +158,12 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
}; };
image.Mutate(x => x.Resize(options)); image.Mutate(x => x.Resize(options));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWithPadMode<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWithPadMode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -174,12 +176,12 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
}; };
image.Mutate(x => x.Resize(options)); image.Mutate(x => x.Resize(options));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWithBoxPadMode<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWithBoxPadMode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -192,12 +194,12 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
}; };
image.Mutate(x => x.Resize(options)); image.Mutate(x => x.Resize(options));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWithMaxMode<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWithMaxMode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -210,12 +212,12 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
}; };
image.Mutate(x => x.Resize(options)); image.Mutate(x => x.Resize(options));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWithMinMode<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWithMinMode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -228,12 +230,12 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
}; };
image.Mutate(x => x.Resize(options)); image.Mutate(x => x.Resize(options));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }
[Theory] [Theory]
[WithFileCollection(nameof(GrayscaleTestImages), DefaultPixelType)] [WithFileCollection(nameof(CommonTestImages), DefaultPixelType)]
public void ResizeWithStretchMode<TPixel>(TestImageProvider<TPixel> provider) public void ResizeWithStretchMode<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -246,7 +248,7 @@ namespace ImageSharp.Tests.Processing.Processors.Transforms
}; };
image.Mutate(x => x.Resize(options)); image.Mutate(x => x.Resize(options));
image.DebugSave(provider, grayscale: true); image.CompareToReferenceOutput(provider);
} }
} }

2
tests/Images/External

@ -1 +1 @@
Subproject commit ec2161042fe9addeff10fab73b0a3d71172b86a8 Subproject commit fcd68139fcc6f0ce9af29b716eb1f3874128315e
Loading…
Cancel
Save