< Summary - Jellyfin

Information
Class: Emby.Naming.TV.TvParserHelpers
Assembly: Emby.Naming
File(s): /srv/git/jellyfin/Emby.Naming/TV/TvParserHelpers.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 44
Line coverage: 100%
Branch coverage
100%
Covered branches: 6
Total branches: 6
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
TryParseSeriesStatus(...)100%66100%

File(s)

/srv/git/jellyfin/Emby.Naming/TV/TvParserHelpers.cs

#LineLine coverage
 1using System;
 2using System.Linq;
 3using MediaBrowser.Model.Entities;
 4
 5namespace Emby.Naming.TV;
 6
 7/// <summary>
 8/// Helper class for TV metadata parsing.
 9/// </summary>
 10public static class TvParserHelpers
 11{
 112    private static readonly string[] _continuingState = ["Pilot", "Returning Series", "Returning"];
 113    private static readonly string[] _endedState = ["Cancelled", "Canceled"];
 14
 15    /// <summary>
 16    /// Tries to parse a string into <see cref="SeriesStatus"/>.
 17    /// </summary>
 18    /// <param name="status">The status string.</param>
 19    /// <param name="enumValue">The <see cref="SeriesStatus"/>.</param>
 20    /// <returns>Returns true if parsing was successful.</returns>
 21    public static bool TryParseSeriesStatus(string status, out SeriesStatus? enumValue)
 22    {
 823        if (Enum.TryParse(status, true, out SeriesStatus seriesStatus))
 24        {
 425            enumValue = seriesStatus;
 426            return true;
 27        }
 28
 429        if (_continuingState.Contains(status, StringComparer.OrdinalIgnoreCase))
 30        {
 231            enumValue = SeriesStatus.Continuing;
 232            return true;
 33        }
 34
 235        if (_endedState.Contains(status, StringComparer.OrdinalIgnoreCase))
 36        {
 137            enumValue = SeriesStatus.Ended;
 138            return true;
 39        }
 40
 141        enumValue = null;
 142        return false;
 43    }
 44}