Ejemplo n.º 1
0
        async Task VerifyInner(object?target, Func <Task>?cleanup, IEnumerable <ConversionStream> streams)
        {
            VerifyEngine engine = new(settings, fileNameBuilder);

            var streamsList = streams.ToList();

            if (TryGetTargetBuilder(target, out var builder, out var extension))
            {
                ApplyScrubbers.Apply(builder, settings.instanceScrubbers);

                var received = builder.ToString();
                var stream   = new ConversionStream(extension, received);
                streamsList.Insert(0, stream);
            }

            streamsList.AddRange(VerifierSettings.GetFileAppenders(settings));
            var builders = streamsList
                           .Select(
                stream =>
            {
                return(new ResultBuilder(
                           stream.Extension,
                           file => GetResult(settings, file, stream)));
            })
                           .ToList();

            await engine.HandleResults(builders);

            if (cleanup != null)
            {
                await cleanup.Invoke();
            }

            await engine.ThrowIfRequired();
        }
Ejemplo n.º 2
0
        static async Task <EqualityResult> GetResult(VerifySettings settings, FilePair filePair, ConversionStream conversionStream)
        {
            var stream = conversionStream.Stream;

#if NETSTANDARD2_0 || NETFRAMEWORK
            using (stream)
#else
            await using (stream)
#endif
            {
                stream.MoveToStart();
                if (!EmptyFiles.Extensions.IsText(conversionStream.Extension))
                {
                    return(await Comparer.Streams(settings, stream, filePair));
                }

                var builder = await stream.ReadAsString();

                ApplyScrubbers.Apply(builder, settings.instanceScrubbers);
                return(await Comparer.Text(filePair, builder, settings));
            }
        }
Ejemplo n.º 3
0
        static async Task <EqualityResult> GetResult(VerifySettings settings, FilePair filePair, ConversionStream conversionStream)
        {
            if (conversionStream.IsData)
            {
                var builder = new StringBuilder(conversionStream.Data);
                ApplyScrubbers.Apply(builder, settings.instanceScrubbers);
                return(await Comparer.Text(filePair, builder.ToString(), settings));
            }

            var stream = conversionStream.Stream;

#if NETSTANDARD2_0 || NETFRAMEWORK
            using (stream)
#else
            await using (stream)
#endif
            {
                stream.MoveToStart();
                return(await Comparer.Streams(settings, stream, filePair));
            }
        }