< Summary

Information
Class: AmbientServices.Extensions.StackTraceExtensions
Assembly: AmbientServices
File(s): /home/runner/work/AmbientServices/AmbientServices/AmbientServices/Extensions/StackTraceExtensions.cs
Tag: 332_35464845198
Line coverage
100%
Covered lines: 3
Uncovered lines: 0
Coverable lines: 3
Total lines: 26
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetFilteredString(...)100%44100%

File(s)

/home/runner/work/AmbientServices/AmbientServices/AmbientServices/Extensions/StackTraceExtensions.cs

#LineLine coverage
 1using System;
 2using System.Diagnostics;
 3
 4namespace AmbientServices.Extensions;
 5
 6/// <summary>
 7/// A class that holds extensions to the <see cref="StackTrace"/> class.
 8/// </summary>
 9/// <remarks>
 10/// <pitch>One-call access to <see cref="FilteredStackTrace"/>'s noise filtering for any existing <see cref="StackTrace"
 11/// <pledge>Filtering is idempotent: a trace that is already a <see cref="FilteredStackTrace"/> renders unchanged, and a
 12/// </remarks>
 13public static class StackTraceExtensions
 14{
 15    /// <summary>
 16    /// Gets a filtered string of the stack trace.
 17    /// </summary>
 18    /// <param name="input">The <see cref="StackTrace"/>.</param>
 19    /// <returns>A filtered string of the stack trace.</returns>
 20    public static string GetFilteredString(this StackTrace input)
 21    {
 222        if (input is null) throw new ArgumentNullException(nameof(input), "The specified StackTrace must be non-null!");
 223        if (input is FilteredStackTrace) return input.ToString();
 224        return FilteredStackTrace.ToString(FilteredStackTrace.FilterFrames(input.GetFrames()));
 25    }
 26}