diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegProfilingBenchmarks.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegProfilingBenchmarks.cs index daf8da6a38..7badc8b00b 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegProfilingBenchmarks.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegProfilingBenchmarks.cs @@ -44,7 +44,7 @@ namespace ImageSharp.Tests throw new Exception("Vector.IsHardwareAccelerated == false! ('prefer32 bit' enabled?)"); } - string path = TestFile.GetPath(fileName); + string path = TestFile.GetInputFileFullPath(fileName); byte[] bytes = File.ReadAllBytes(path); this.Measure( diff --git a/tests/ImageSharp.Tests/Image/ImageTests.cs b/tests/ImageSharp.Tests/Image/ImageTests.cs index 217bf37fe8..89996af178 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.cs @@ -3,6 +3,7 @@ // Licensed under the Apache License, Version 2.0. // +// ReSharper disable InconsistentNaming namespace ImageSharp.Tests { using System; @@ -15,7 +16,7 @@ namespace ImageSharp.Tests /// /// Tests the class. /// - public class ImageTests + public class ImageTests : FileTestBase { [Fact] public void ConstructorByteArray() @@ -67,8 +68,9 @@ namespace ImageSharp.Tests [Fact] public void Save_DetecedEncoding() { - string file = TestFile.GetPath("../../TestOutput/Save_DetecedEncoding.png"); - System.IO.DirectoryInfo dir = System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(file)); + string dir = this.CreateOutputDirectory(nameof(ImageTests)); + string file = System.IO.Path.Combine(dir, "Save_DetecedEncoding.png"); + using (Image image = new Image(10, 10)) { image.Save(file); @@ -81,9 +83,11 @@ namespace ImageSharp.Tests } [Fact] - public void Save_UnknownExtensionsEncoding() + public void Save_WhenExtensionIsUnknown_Throws() { - string file = TestFile.GetPath("../../TestOutput/Save_DetecedEncoding.tmp"); + string dir = this.CreateOutputDirectory(nameof(ImageTests)); + string file = System.IO.Path.Combine(dir, "Save_UnknownExtensionsEncoding_Throws.tmp"); + NotSupportedException ex = Assert.Throws( () => { @@ -97,8 +101,9 @@ namespace ImageSharp.Tests [Fact] public void Save_SetEncoding() { - string file = TestFile.GetPath("../../TestOutput/Save_SetEncoding.dat"); - System.IO.DirectoryInfo dir = System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(file)); + string dir = this.CreateOutputDirectory(nameof(ImageTests)); + string file = System.IO.Path.Combine(dir, "Save_SetEncoding.dat"); + using (Image image = new Image(10, 10)) { image.Save(file, new PngEncoder()); diff --git a/tests/ImageSharp.Tests/TestBase.cs b/tests/ImageSharp.Tests/TestBase.cs index c7514d5aee..fb626be47a 100644 --- a/tests/ImageSharp.Tests/TestBase.cs +++ b/tests/ImageSharp.Tests/TestBase.cs @@ -25,9 +25,7 @@ namespace ImageSharp.Tests /// protected string CreateOutputDirectory(string path, params string[] pathParts) { - string assemblyLocation = typeof(TestFile).GetTypeInfo().Assembly.Location; - assemblyLocation = Path.GetDirectoryName(assemblyLocation); - path = Path.GetFullPath(Path.Combine(assemblyLocation, "../../../TestOutput", path)); + path = Path.Combine(TestEnvironment.ActualOutputDirectoryFullPath, path); if (pathParts != null && pathParts.Length > 0) { diff --git a/tests/ImageSharp.Tests/TestFile.cs b/tests/ImageSharp.Tests/TestFile.cs index 883911db23..6a1534743b 100644 --- a/tests/ImageSharp.Tests/TestFile.cs +++ b/tests/ImageSharp.Tests/TestFile.cs @@ -28,7 +28,7 @@ namespace ImageSharp.Tests /// The formats directory, as lazy value /// // ReSharper disable once InconsistentNaming - private static readonly Lazy formatsDirectory = new Lazy(TestEnvironment.GetInputImagesDirectoryFullPath); + private static readonly Lazy inputImagesDirectory = new Lazy(() => TestEnvironment.InputImagesDirectoryFullPath); /// /// The image. @@ -73,12 +73,12 @@ namespace ImageSharp.Tests public string FileNameWithoutExtension => Path.GetFileNameWithoutExtension(this.file); /// - /// Gets the "Formats" test file directory. + /// Gets the Input Images directory. /// - private static string FormatsDirectory => formatsDirectory.Value; + private static string InputImagesDirectory => inputImagesDirectory.Value; /// - /// Gets the full qualified path to the file. + /// Gets the full qualified path to the input test file. /// /// /// The file path. @@ -86,9 +86,9 @@ namespace ImageSharp.Tests /// /// The . /// - public static string GetPath(string file) + public static string GetInputFileFullPath(string file) { - return Path.Combine(FormatsDirectory, file); + return Path.Combine(InputImagesDirectory, file); } /// @@ -100,7 +100,7 @@ namespace ImageSharp.Tests /// public static TestFile Create(string file) { - return Cache.GetOrAdd(file, (string fileName) => new TestFile(GetPath(file))); + return Cache.GetOrAdd(file, (string fileName) => new TestFile(GetInputFileFullPath(file))); } /// diff --git a/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs b/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs index 5a49a29172..43e6ca2559 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ImagingTestCaseUtility.cs @@ -144,8 +144,8 @@ namespace ImageSharp.Tests } } - internal string GetReferenceOutputFileName(string extension = null, object settings = null) - => this.GetTestOutputFileName(extension, settings).Replace("TestOutput", "ReferenceOutput"); + internal string GetReferenceOutputFileName(string extension = null, object settings = null) => + TestEnvironment.GetReferenceOutputFileName(this.GetTestOutputFileName(extension, settings)); internal void Init(string typeName, string methodName) { diff --git a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs index 11440433ec..4c14489fd5 100644 --- a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs +++ b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs @@ -11,8 +11,14 @@ namespace ImageSharp.Tests { public const string ImageSharpSolution = "ImageSharp.sln"; - public const string InputImagesRelativePath = @"tests\ImageSharp.Tests\TestImages\Formats"; - + private const string InputImagesRelativePath = @"tests\TestImages\Input"; + + private const string ActualOutputDirectoryRelativePath = @"tests\TestImages\ActualOutput"; + + private const string ReferenceOutputDirectoryRelativePath = @"tests\TestImages\ReferenceOutput"; + + private static Lazy solutionDirectoryFullPath = new Lazy(GetSolutionDirectoryFullPathImpl); + private static Lazy runsOnCi = new Lazy( () => { @@ -25,8 +31,10 @@ namespace ImageSharp.Tests /// Gets a value indicating whether test execution runs on CI. /// internal static bool RunsOnCI => runsOnCi.Value; - - internal static string GetSolutionDirectoryFullPath() + + internal static string SolutionDirectoryFullPath => solutionDirectoryFullPath.Value; + + private static string GetSolutionDirectoryFullPathImpl() { string assemblyLocation = typeof(TestFile).GetTypeInfo().Assembly.Location; @@ -51,22 +59,26 @@ namespace ImageSharp.Tests throw new Exception($"Unable to find ImageSharp solution directory from {assemblyLocation}!"); } } - + return directory.FullName; } + + /// + /// Gets the correct full path to the Input Images directory. + /// + internal static string InputImagesDirectoryFullPath => Path.Combine(SolutionDirectoryFullPath, InputImagesRelativePath); /// - /// Gets the correct path to the InputImages directory. + /// Gets the correct full path to the Actual Output directory. (To be written to by the test cases.) /// - /// - /// The . - /// - internal static string GetInputImagesDirectoryFullPath() - { - string soulitionDir = GetSolutionDirectoryFullPath(); + internal static string ActualOutputDirectoryFullPath => Path.Combine(SolutionDirectoryFullPath, ActualOutputDirectoryRelativePath); - return Path.Combine(soulitionDir, InputImagesRelativePath); - } - + /// + /// Gets the correct full path to the Expected Output directory. (To compare the test results to.) + /// + internal static string ReferenceOutputDirectoryFullPath => Path.Combine(SolutionDirectoryFullPath, ReferenceOutputDirectoryRelativePath); + + internal static string GetReferenceOutputFileName(string actualOutputFileName) => + actualOutputFileName.Replace("ActualOutput", "ExpectedOutput"); } } \ No newline at end of file diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/IntegrationTestUtilsTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/IntegrationTestUtilsTests.cs index 54dbd682df..94c9d0ef6e 100644 --- a/tests/ImageSharp.Tests/TestUtilities/Tests/IntegrationTestUtilsTests.cs +++ b/tests/ImageSharp.Tests/TestUtilities/Tests/IntegrationTestUtilsTests.cs @@ -35,7 +35,7 @@ namespace ImageSharp.Tests public void FromSystemDrawingBitmap(TestImageProvider dummyProvider) where TPixel : struct, IPixel { - string path = TestFile.GetPath(TestImages.Png.Splash); + string path = TestFile.GetInputFileFullPath(TestImages.Png.Splash); using (var sdBitmap = new System.Drawing.Bitmap(path)) { @@ -51,7 +51,7 @@ namespace ImageSharp.Tests public void OpenWithReferenceDecoder(TestImageProvider dummyProvider) where TPixel : struct, IPixel { - string path = TestFile.GetPath(TestImages.Png.Splash); + string path = TestFile.GetInputFileFullPath(TestImages.Png.Splash); using (Image image = Image.Load(path, ReferenceDecoder.Instance)) { image.DebugSave(dummyProvider); diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs index 9a28e3fb41..ac537b3c39 100644 --- a/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs +++ b/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs @@ -19,24 +19,45 @@ namespace ImageSharp.Tests } private ITestOutputHelper Output { get; } + + private void CheckPath(string path) + { + this.Output.WriteLine(path); + Assert.True(Directory.Exists(path)); + } + [Fact] + public void SolutionDirectoryFullPath() + { + this.CheckPath(TestEnvironment.SolutionDirectoryFullPath); + } [Fact] - public void GetSolutionDirectoryFullPath() + public void InputImagesDirectoryFullPath() { - string path = TestEnvironment.GetSolutionDirectoryFullPath(); - this.Output.WriteLine(path); + this.CheckPath(TestEnvironment.InputImagesDirectoryFullPath); + } - Assert.True(Directory.Exists(path)); + [Fact] + public void ActualOutputDirectoryFullPath() + { + this.CheckPath(TestEnvironment.ActualOutputDirectoryFullPath); } [Fact] - public void GetInputImagesDirectoryFullPath() + public void ExpectedOutputDirectoryFullPath() { - string path = TestEnvironment.GetInputImagesDirectoryFullPath(); - this.Output.WriteLine(path); + this.CheckPath(TestEnvironment.ReferenceOutputDirectoryFullPath); + } - Assert.True(Directory.Exists(path)); + [Fact] + public void GetReferenceOutputFileName() + { + string actual = Path.Combine(TestEnvironment.ActualOutputDirectoryFullPath, @"foo\bar\lol.jpeg"); + string expected = TestEnvironment.GetReferenceOutputFileName(actual); + + this.Output.WriteLine(expected); + Assert.Contains(TestEnvironment.ReferenceOutputDirectoryFullPath, expected); } } } diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Bmp/Car.bmp b/tests/TestImages/Input/Bmp/Car.bmp similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Bmp/Car.bmp rename to tests/TestImages/Input/Bmp/Car.bmp diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Bmp/F.bmp b/tests/TestImages/Input/Bmp/F.bmp similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Bmp/F.bmp rename to tests/TestImages/Input/Bmp/F.bmp diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Bmp/neg_height.bmp b/tests/TestImages/Input/Bmp/neg_height.bmp similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Bmp/neg_height.bmp rename to tests/TestImages/Input/Bmp/neg_height.bmp diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Gif/cheers.gif b/tests/TestImages/Input/Gif/cheers.gif similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Gif/cheers.gif rename to tests/TestImages/Input/Gif/cheers.gif diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Gif/giphy.gif b/tests/TestImages/Input/Gif/giphy.gif similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Gif/giphy.gif rename to tests/TestImages/Input/Gif/giphy.gif diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Gif/rings.gif b/tests/TestImages/Input/Gif/rings.gif similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Gif/rings.gif rename to tests/TestImages/Input/Gif/rings.gif diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Gif/trans.gif b/tests/TestImages/Input/Gif/trans.gif similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Gif/trans.gif rename to tests/TestImages/Input/Gif/trans.gif diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Calliphora.jpg b/tests/TestImages/Input/Jpg/baseline/Calliphora.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Calliphora.jpg rename to tests/TestImages/Input/Jpg/baseline/Calliphora.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/ExifUndefType.jpg b/tests/TestImages/Input/Jpg/baseline/ExifUndefType.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/ExifUndefType.jpg rename to tests/TestImages/Input/Jpg/baseline/ExifUndefType.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Floorplan.jpg b/tests/TestImages/Input/Jpg/baseline/Floorplan.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Floorplan.jpg rename to tests/TestImages/Input/Jpg/baseline/Floorplan.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Hiyamugi.jpg b/tests/TestImages/Input/Jpg/baseline/Hiyamugi.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Hiyamugi.jpg rename to tests/TestImages/Input/Jpg/baseline/Hiyamugi.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Lake.jpg b/tests/TestImages/Input/Jpg/baseline/Lake.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Lake.jpg rename to tests/TestImages/Input/Jpg/baseline/Lake.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Snake.jpg b/tests/TestImages/Input/Jpg/baseline/Snake.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/Snake.jpg rename to tests/TestImages/Input/Jpg/baseline/Snake.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/badeof.jpg b/tests/TestImages/Input/Jpg/baseline/badeof.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/badeof.jpg rename to tests/TestImages/Input/Jpg/baseline/badeof.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/cmyk.jpg b/tests/TestImages/Input/Jpg/baseline/cmyk.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/cmyk.jpg rename to tests/TestImages/Input/Jpg/baseline/cmyk.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/exif.jpg b/tests/TestImages/Input/Jpg/baseline/exif.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/exif.jpg rename to tests/TestImages/Input/Jpg/baseline/exif.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/gamma_dalai_lama_gray.jpg b/tests/TestImages/Input/Jpg/baseline/gamma_dalai_lama_gray.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/gamma_dalai_lama_gray.jpg rename to tests/TestImages/Input/Jpg/baseline/gamma_dalai_lama_gray.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/jpeg400jfif.jpg b/tests/TestImages/Input/Jpg/baseline/jpeg400jfif.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/jpeg400jfif.jpg rename to tests/TestImages/Input/Jpg/baseline/jpeg400jfif.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/jpeg420exif.jpg b/tests/TestImages/Input/Jpg/baseline/jpeg420exif.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/jpeg420exif.jpg rename to tests/TestImages/Input/Jpg/baseline/jpeg420exif.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/jpeg444.jpg b/tests/TestImages/Input/Jpg/baseline/jpeg444.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/jpeg444.jpg rename to tests/TestImages/Input/Jpg/baseline/jpeg444.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/testimgint.jpg b/tests/TestImages/Input/Jpg/baseline/testimgint.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/testimgint.jpg rename to tests/TestImages/Input/Jpg/baseline/testimgint.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/testorig.jpg b/tests/TestImages/Input/Jpg/baseline/testorig.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/testorig.jpg rename to tests/TestImages/Input/Jpg/baseline/testorig.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/turtle.jpg b/tests/TestImages/Input/Jpg/baseline/turtle.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/turtle.jpg rename to tests/TestImages/Input/Jpg/baseline/turtle.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/ycck.jpg b/tests/TestImages/Input/Jpg/baseline/ycck.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/baseline/ycck.jpg rename to tests/TestImages/Input/Jpg/baseline/ycck.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/BadEofProgressive.jpg b/tests/TestImages/Input/Jpg/progressive/BadEofProgressive.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/BadEofProgressive.jpg rename to tests/TestImages/Input/Jpg/progressive/BadEofProgressive.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/Festzug.jpg b/tests/TestImages/Input/Jpg/progressive/Festzug.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/Festzug.jpg rename to tests/TestImages/Input/Jpg/progressive/Festzug.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/fb.jpg b/tests/TestImages/Input/Jpg/progressive/fb.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/fb.jpg rename to tests/TestImages/Input/Jpg/progressive/fb.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/progress.jpg b/tests/TestImages/Input/Jpg/progressive/progress.jpg similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Jpg/progressive/progress.jpg rename to tests/TestImages/Input/Jpg/progressive/progress.jpg diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/CalliphoraPartial.png b/tests/TestImages/Input/Png/CalliphoraPartial.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/CalliphoraPartial.png rename to tests/TestImages/Input/Png/CalliphoraPartial.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/blur.png b/tests/TestImages/Input/Png/blur.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/blur.png rename to tests/TestImages/Input/Png/blur.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/chunklength1.png b/tests/TestImages/Input/Png/chunklength1.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/chunklength1.png rename to tests/TestImages/Input/Png/chunklength1.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/chunklength2.png b/tests/TestImages/Input/Png/chunklength2.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/chunklength2.png rename to tests/TestImages/Input/Png/chunklength2.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/cross.png b/tests/TestImages/Input/Png/cross.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/cross.png rename to tests/TestImages/Input/Png/cross.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/filter0.png b/tests/TestImages/Input/Png/filter0.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/filter0.png rename to tests/TestImages/Input/Png/filter0.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/filter1.png b/tests/TestImages/Input/Png/filter1.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/filter1.png rename to tests/TestImages/Input/Png/filter1.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/filter2.png b/tests/TestImages/Input/Png/filter2.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/filter2.png rename to tests/TestImages/Input/Png/filter2.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/filter3.png b/tests/TestImages/Input/Png/filter3.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/filter3.png rename to tests/TestImages/Input/Png/filter3.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/filter4.png b/tests/TestImages/Input/Png/filter4.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/filter4.png rename to tests/TestImages/Input/Png/filter4.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/filterVar.png b/tests/TestImages/Input/Png/filterVar.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/filterVar.png rename to tests/TestImages/Input/Png/filterVar.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/indexed.png b/tests/TestImages/Input/Png/indexed.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/indexed.png rename to tests/TestImages/Input/Png/indexed.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/interlaced.png b/tests/TestImages/Input/Png/interlaced.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/interlaced.png rename to tests/TestImages/Input/Png/interlaced.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/pd.png b/tests/TestImages/Input/Png/pd.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/pd.png rename to tests/TestImages/Input/Png/pd.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/pl.png b/tests/TestImages/Input/Png/pl.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/pl.png rename to tests/TestImages/Input/Png/pl.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/pp.png b/tests/TestImages/Input/Png/pp.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/pp.png rename to tests/TestImages/Input/Png/pp.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/rgb-48bpp-interlaced.png b/tests/TestImages/Input/Png/rgb-48bpp-interlaced.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/rgb-48bpp-interlaced.png rename to tests/TestImages/Input/Png/rgb-48bpp-interlaced.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/rgb-48bpp.png b/tests/TestImages/Input/Png/rgb-48bpp.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/rgb-48bpp.png rename to tests/TestImages/Input/Png/rgb-48bpp.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/splash-interlaced.png b/tests/TestImages/Input/Png/splash-interlaced.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/splash-interlaced.png rename to tests/TestImages/Input/Png/splash-interlaced.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/splash.png b/tests/TestImages/Input/Png/splash.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/splash.png rename to tests/TestImages/Input/Png/splash.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/versioning-1_1.png b/tests/TestImages/Input/Png/versioning-1_1.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/versioning-1_1.png rename to tests/TestImages/Input/Png/versioning-1_1.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/versioning-1_2.png b/tests/TestImages/Input/Png/versioning-1_2.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/versioning-1_2.png rename to tests/TestImages/Input/Png/versioning-1_2.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/vim16x16_1.png b/tests/TestImages/Input/Png/vim16x16_1.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/vim16x16_1.png rename to tests/TestImages/Input/Png/vim16x16_1.png diff --git a/tests/ImageSharp.Tests/TestImages/Formats/Png/vim16x16_2.png b/tests/TestImages/Input/Png/vim16x16_2.png similarity index 100% rename from tests/ImageSharp.Tests/TestImages/Formats/Png/vim16x16_2.png rename to tests/TestImages/Input/Png/vim16x16_2.png