diff --git a/tests/ImageSharp.Tests/Processing/Effects/BrightnessTest.cs b/tests/ImageSharp.Tests/Processing/Effects/BrightnessTest.cs
new file mode 100644
index 0000000000..38c3746350
--- /dev/null
+++ b/tests/ImageSharp.Tests/Processing/Effects/BrightnessTest.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ImageSharp.Tests.Processing.Effects
+{
+ using ImageSharp.PixelFormats;
+
+ using Xunit;
+
+ public class BrightnessTest : FileTestBase
+ {
+ public static readonly TheoryData BrightnessValues
+ = new TheoryData
+ {
+ 50,
+ -50
+ };
+
+ [Theory]
+ [WithFileCollection(nameof(DefaultFiles), nameof(BrightnessValues), StandardPixelType)]
+ public void ImageShouldApplyBrightnessFilter(TestImageProvider provider, int value)
+ where TPixel : struct, IPixel
+ {
+ using (Image image = provider.GetImage())
+ {
+ image.Brightness(value)
+ .DebugSave(provider, value, Extensions.Bmp);
+ }
+ }
+
+ [Theory]
+ [WithFileCollection(nameof(DefaultFiles), nameof(BrightnessValues), StandardPixelType)]
+ public void ImageShouldApplyBrightnessFilterInBox(TestImageProvider provider, int value)
+ where TPixel : struct, IPixel
+ {
+ using (Image source = provider.GetImage())
+ using (var image = new Image(source))
+ {
+ var bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+
+ image.Brightness(value, bounds)
+ .DebugSave(provider, value, Extensions.Bmp);
+
+ // Draw identical shapes over the bounded and compare to ensure changes are constrained.
+ image.Fill(NamedColors.HotPink, bounds);
+ source.Fill(NamedColors.HotPink, bounds);
+ ImageComparer.CheckSimilarity(image, source);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/tests/ImageSharp.Tests/Processing/Effects/ContrastTest.cs b/tests/ImageSharp.Tests/Processing/Effects/ContrastTest.cs
new file mode 100644
index 0000000000..837cf8057b
--- /dev/null
+++ b/tests/ImageSharp.Tests/Processing/Effects/ContrastTest.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ImageSharp.Tests.Processing.Effects
+{
+ using ImageSharp.PixelFormats;
+
+ using Xunit;
+
+ public class ContrastTest : FileTestBase
+ {
+ public static readonly TheoryData ContrastValues
+ = new TheoryData
+ {
+ 50,
+ -50
+ };
+
+ [Theory]
+ [WithFileCollection(nameof(DefaultFiles), nameof(ContrastValues), StandardPixelType)]
+ public void ImageShouldApplyContrastFilter(TestImageProvider provider, int value)
+ where TPixel : struct, IPixel
+ {
+ using (Image image = provider.GetImage())
+ {
+ image.Contrast(value)
+ .DebugSave(provider, value, Extensions.Bmp);
+ }
+ }
+
+ [Theory]
+ [WithFileCollection(nameof(DefaultFiles), nameof(ContrastValues), StandardPixelType)]
+ public void ImageShouldApplyContrastFilterInBox(TestImageProvider provider, int value)
+ where TPixel : struct, IPixel
+ {
+ using (Image source = provider.GetImage())
+ using (var image = new Image(source))
+ {
+ var bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+
+ image.Contrast(value, bounds)
+ .DebugSave(provider, value, Extensions.Bmp);
+
+ // Draw identical shapes over the bounded and compare to ensure changes are constrained.
+ image.Fill(NamedColors.HotPink, bounds);
+ source.Fill(NamedColors.HotPink, bounds);
+ ImageComparer.CheckSimilarity(image, source);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/tests/ImageSharp.Tests/Processors/Filters/BrightnessTest.cs b/tests/ImageSharp.Tests/Processors/Filters/BrightnessTest.cs
deleted file mode 100644
index ce434d734a..0000000000
--- a/tests/ImageSharp.Tests/Processors/Filters/BrightnessTest.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// Copyright (c) James Jackson-South and contributors.
-// Licensed under the Apache License, Version 2.0.
-//
-
-namespace ImageSharp.Tests
-{
- using System.IO;
-
- using ImageSharp.PixelFormats;
-
- using Xunit;
-
- public class BrightnessTest : FileTestBase
- {
- public static readonly TheoryData BrightnessValues
- = new TheoryData
- {
- 50 ,
- -50 ,
- };
-
- [Theory]
- [MemberData(nameof(BrightnessValues))]
- public void ImageShouldApplyBrightnessFilter(int value)
- {
- string path = this.CreateOutputDirectory("Brightness");
-
- foreach (TestFile file in Files)
- {
- string filename = file.GetFileName(value);
- using (Image image = file.CreateImage())
- using (FileStream output = File.OpenWrite($"{path}/{filename}"))
- {
- image.Brightness(value).Save(output);
- }
- }
- }
-
- [Theory]
- [MemberData(nameof(BrightnessValues))]
- public void ImageShouldApplyBrightnessFilterInBox(int value)
- {
- string path = this.CreateOutputDirectory("Brightness");
-
- foreach (TestFile file in Files)
- {
- string filename = file.GetFileName(value + "-InBox");
- using (Image image = file.CreateImage())
- using (FileStream output = File.OpenWrite($"{path}/{filename}"))
- {
- image.Brightness(value, new Rectangle(10, 10, image.Width / 2, image.Height / 2)).Save(output);
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/tests/ImageSharp.Tests/Processors/Filters/ContrastTest.cs b/tests/ImageSharp.Tests/Processors/Filters/ContrastTest.cs
deleted file mode 100644
index 4626fbb6e7..0000000000
--- a/tests/ImageSharp.Tests/Processors/Filters/ContrastTest.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// Copyright (c) James Jackson-South and contributors.
-// Licensed under the Apache License, Version 2.0.
-//
-
-namespace ImageSharp.Tests
-{
- using System.IO;
-
- using ImageSharp.PixelFormats;
-
- using Xunit;
-
- public class ContrastTest : FileTestBase
- {
- public static readonly TheoryData ContrastValues
- = new TheoryData
- {
- 50 ,
- -50 ,
- };
-
- [Theory]
- [MemberData(nameof(ContrastValues))]
- public void ImageShouldApplyContrastFilter(int value)
- {
- string path = this.CreateOutputDirectory("Contrast");
-
- foreach (TestFile file in Files)
- {
- using (Image image = file.CreateImage())
- using (FileStream output = File.OpenWrite($"{path}/{file.FileName}"))
- {
- image.Contrast(value).Save(output);
- }
- }
- }
-
- [Theory]
- [MemberData(nameof(ContrastValues))]
- public void ImageShouldApplyContrastFilterInBox(int value)
- {
- string path = this.CreateOutputDirectory("Contrast");
-
- foreach (TestFile file in Files)
- {
- string filename = file.GetFileName(value + "-InBox");
- using (Image image = file.CreateImage())
- using (FileStream output = File.OpenWrite($"{path}/{filename}"))
- {
- image.Contrast(value, new Rectangle(10, 10, image.Width / 2, image.Height / 2)).Save(output);
- }
- }
- }
- }
-}
\ No newline at end of file