< Summary

Information
Class: Fluorite.Strainer.Services.Filtering.FilterTermNamesParser
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Filtering/FilterTermNamesParser.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 21
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Parse(...)100%22100%

File(s)

/builds/fluorite/strainer/src/Strainer/Services/Filtering/FilterTermNamesParser.cs

#LineLine coverage
 1using System.Text.RegularExpressions;
 2
 3namespace Fluorite.Strainer.Services.Filtering;
 4
 5public class FilterTermNamesParser : IFilterTermNamesParser
 6{
 7    private const string EscapedPipePattern = @"(?<!($|[^\\])(\\\\)*?\\)\|";
 8
 9    public IList<string> Parse(string? input)
 10    {
 2011        if (string.IsNullOrEmpty(input))
 12        {
 413            return new List<string>();
 14        }
 15
 1616        return Regex.Split(input, EscapedPipePattern, RegexOptions.None, TimeSpan.FromMilliseconds(100))
 2517            .Select(filterName => filterName.Trim())
 2518            .Where(filterName => !string.IsNullOrWhiteSpace(filterName))
 1619            .ToList();
 20    }
 21}

Methods/Properties

Parse(System.String)