< Summary

Information
Class: MyNet.Utilities.ProgresserExtensions
Assembly: MyNet.Utilities
File(s): https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Utilities/Progress/Extensions/ProgresserExtensions.cs
Tag: 323_28699572109
Line coverage
100%
Covered lines: 12
Uncovered lines: 0
Coverable lines: 12
Total lines: 74
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Begin(...)100%11100%
Begin(...)100%11100%
Begin(...)100%11100%
Begin(...)100%11100%
Begin(...)100%11100%
Begin(...)100%11100%
StartStep(...)100%11100%
StartStep(...)100%11100%
StartStep(...)100%11100%
StartStepUncancellable(...)100%11100%
StartStepUncancellable(...)100%11100%
StartStepUncancellable(...)100%11100%

File(s)

https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Utilities/Progress/Extensions/ProgresserExtensions.cs

#LineLine coverage
 1// -----------------------------------------------------------------------
 2// <copyright file="ProgresserExtensions.cs" company="Stéphane ANDRE">
 3// Copyright (c) Stéphane ANDRE. All rights reserved.
 4// </copyright>
 5// -----------------------------------------------------------------------
 6
 7using System;
 8using System.Collections.Generic;
 9using MyNet.Utilities.Progress;
 10
 11#pragma warning disable IDE0130 // Namespace does not match folder structure
 12namespace MyNet.Utilities;
 13#pragma warning restore IDE0130 // Namespace does not match folder structure
 14
 15/// <summary>
 16/// Provides extension methods for <see cref="IProgresser"/> to allow using string messages directly without having to c
 17/// </summary>
 18public static class ProgresserExtensions
 19{
 20    // ── Begin (root step) ────────────────────────────────────────────────────
 21    extension(IProgresser progresser)
 22    {
 23        /// <summary>Starts a new single-step session with a string message.</summary>
 24        public IProgressStep<ProgressMessage> Begin(string message, params object[] parameters)
 1825            => progresser.Begin(new(message, parameters));
 26
 27        /// <summary>Starts a new session divided into <paramref name="numberOfSteps"/> equal sub-steps.</summary>
 28        public IProgressStep<ProgressMessage> Begin(int numberOfSteps, string message, params object[] parameters)
 929            => progresser.Begin(numberOfSteps, new(message, parameters));
 30
 31        /// <summary>Starts a new session with custom sub-step weightings and a string message.</summary>
 32        public IProgressStep<ProgressMessage> Begin(IEnumerable<double> subStepWeightings, string message, params object
 633            => progresser.Begin(subStepWeightings, new(message, parameters));
 34
 35        /// <summary>Starts a new cancellable session with a string message.</summary>
 36        public IProgressStep<ProgressMessage> Begin(Action cancelAction, string message, params object[] parameters)
 937            => progresser.Begin(new(message, parameters), cancelAction);
 38
 39        /// <summary>Starts a new cancellable session divided into <paramref name="numberOfSteps"/> equal sub-steps.</su
 40        public IProgressStep<ProgressMessage> Begin(int numberOfSteps, Action cancelAction, string message, params objec
 641            => progresser.Begin(numberOfSteps, new(message, parameters), cancelAction);
 42
 43        /// <summary>Starts a new cancellable session with custom sub-step weightings and a string message.</summary>
 44        public IProgressStep<ProgressMessage> Begin(IEnumerable<double> subStepWeightings, Action cancelAction, string m
 645            => progresser.Begin(subStepWeightings, new(message, parameters), cancelAction);
 46
 47        /// <summary>Pushes a cancellable child step with a string message.</summary>
 48        public IProgressStep<ProgressMessage> StartStep(string message, params object[] parameters)
 1549            => progresser.StartStep(new(message, parameters));
 50
 51        /// <summary>Pushes a cancellable child step divided into <paramref name="numberOfSteps"/> equal sub-steps.</sum
 52        public IProgressStep<ProgressMessage> StartStep(int numberOfSteps, string message, params object[] parameters)
 353            => progresser.StartStep(numberOfSteps, new(message, parameters));
 54
 55        /// <summary>Pushes a cancellable child step with custom sub-step weightings and a string message.</summary>
 56        public IProgressStep<ProgressMessage> StartStep(IEnumerable<double> subStepWeightings, string message, params ob
 357            => progresser.StartStep(subStepWeightings, new(message, parameters));
 58
 59        /// <summary>Pushes a non-cancellable child step with a string message.</summary>
 60        public IProgressStep<ProgressMessage> StartStepUncancellable(string message, params object[] parameters)
 961            => progresser.StartStep(new(message, parameters), canCancel: false);
 62
 63        /// <summary>Pushes a non-cancellable child step divided into <paramref name="numberOfSteps"/> equal sub-steps.<
 64        public IProgressStep<ProgressMessage> StartStepUncancellable(int numberOfSteps, string message, params object[] 
 665            => progresser.StartStep(numberOfSteps, new(message, parameters), canCancel: false);
 66
 67        /// <summary>Pushes a non-cancellable child step with custom sub-step weightings and a string message.</summary>
 68        public IProgressStep<ProgressMessage> StartStepUncancellable(IEnumerable<double> subStepWeightings, string messa
 669            => progresser.StartStep(subStepWeightings, new(message, parameters), canCancel: false);
 70    }
 71
 72    // ── StartStep (child step) ───────────────────────────────────────────────
 73}
 74