< Summary

Information
Class: Fluorite.Strainer.Services.Configuration.ConfigurationCustomMethodsProvider
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Configuration/ConfigurationCustomMethodsProvider.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 43
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
.ctor(...)100%11100%
GetCustomFilterMethods()100%11100%
GetCustomSortMethods()100%11100%

File(s)

/builds/fluorite/strainer/src/Strainer/Services/Configuration/ConfigurationCustomMethodsProvider.cs

#LineLine coverage
 1using Fluorite.Strainer.Models.Filtering;
 2using Fluorite.Strainer.Models.Sorting;
 3
 4namespace Fluorite.Strainer.Services.Configuration;
 5
 6/// <summary>
 7/// Provides read-only configuration for custom methods.
 8/// </summary>
 9public class ConfigurationCustomMethodsProvider : IConfigurationCustomMethodsProvider
 10{
 11    private readonly IStrainerConfigurationProvider _strainerConfigurationProvider;
 12
 13    /// <summary>
 14    /// Initializes a new instance of the <see cref="ConfigurationCustomMethodsProvider"/>
 15    /// class.
 16    /// </summary>
 17    /// <param name="strainerConfigurationProvider">
 18    /// The main Stariner configuration provider to use.
 19    /// </param>
 20    /// <exception cref="ArgumentNullException">
 21    /// <paramref name="strainerConfigurationProvider"/> is <see langword="null"/>.
 22    /// </exception>
 523    public ConfigurationCustomMethodsProvider(IStrainerConfigurationProvider strainerConfigurationProvider)
 24    {
 525        _strainerConfigurationProvider = Guard.Against.Null(strainerConfigurationProvider);
 426    }
 27
 28    /// <inheritdoc/>
 29    public IReadOnlyDictionary<Type, IReadOnlyDictionary<string, ICustomFilterMethod>> GetCustomFilterMethods()
 30    {
 131        return _strainerConfigurationProvider
 132            .GetStrainerConfiguration()
 133            .CustomFilterMethods;
 34    }
 35
 36    /// <inheritdoc/>
 37    public IReadOnlyDictionary<Type, IReadOnlyDictionary<string, ICustomSortMethod>> GetCustomSortMethods()
 38    {
 139        return _strainerConfigurationProvider
 140            .GetStrainerConfiguration()
 141            .CustomSortMethods;
 42    }
 43}