// Copyright (c) Six Labors and contributors. // Licensed under the Apache License, Version 2.0. using Microsoft.DotNet.RemoteExecutor; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Tests.TestUtilities; using Xunit; // ReSharper disable InconsistentNaming namespace SixLabors.ImageSharp.Tests.Formats.Jpg { public partial class JpegDecoderTests { public const string DecodeProgressiveJpegOutputName = "DecodeProgressiveJpeg"; [Theory] [WithFileCollection(nameof(ProgressiveTestJpegs), PixelTypes.Rgba32)] public void DecodeProgressiveJpeg(TestImageProvider provider) where TPixel : struct, IPixel { static void RunTest(string providerDump) { TestImageProvider provider = BasicSerializer.Deserialize>(providerDump); using Image image = provider.GetImage(JpegDecoder); image.DebugSave(provider); provider.Utility.TestName = DecodeProgressiveJpegOutputName; image.CompareToReferenceOutput( GetImageComparer(provider), provider, appendPixelTypeToFileName: false); } string dump = BasicSerializer.Serialize(provider); RemoteExecutor.Invoke(RunTest, dump).Dispose(); } } }