< Summary

Information
Class: Fluorite.Strainer.Models.Configuration.StrainerConfiguration
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Models/Configuration/StrainerConfiguration.cs
Line coverage
91%
Covered lines: 21
Uncovered lines: 2
Coverable lines: 23
Total lines: 56
Line coverage: 91.3%
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%
get_CustomFilterMethods()100%210%
get_CustomSortMethods()100%210%
get_DefaultMetadata()100%11100%
get_FilterOperators()100%11100%
get_ExcludedBuiltInFilterOperators()100%11100%
get_ObjectMetadata()100%11100%
get_PropertyMetadata()100%11100%

File(s)

/builds/fluorite/strainer/src/Strainer/Models/Configuration/StrainerConfiguration.cs

#LineLine coverage
 1using Fluorite.Strainer.Collections;
 2using Fluorite.Strainer.Models.Filtering;
 3using Fluorite.Strainer.Models.Filtering.Operators;
 4using Fluorite.Strainer.Models.Metadata;
 5using Fluorite.Strainer.Models.Sorting;
 6
 7namespace Fluorite.Strainer.Models.Configuration;
 8
 9/// <summary>
 10/// Provides readonly information about metadata, filter operators
 11/// and custom methods for Strainer.
 12/// </summary>
 13public class StrainerConfiguration : IStrainerConfiguration
 14{
 15    /// <summary>
 16    /// Initializes a new instance of the <see cref="StrainerConfiguration"/> class.
 17    /// </summary>
 1118    public StrainerConfiguration(
 1119        IReadOnlyDictionary<Type, IReadOnlyDictionary<string, ICustomFilterMethod>> customFilterMethods,
 1120        IReadOnlyDictionary<Type, IReadOnlyDictionary<string, ICustomSortMethod>> customSortMethods,
 1121        IReadOnlyDictionary<Type, IPropertyMetadata> defaultMetadata,
 1122        IReadOnlyDictionary<string, IFilterOperator> filterOperators,
 1123        IReadOnlySet<string> excludedBuiltInFilterOperators,
 1124        IReadOnlyDictionary<Type, IObjectMetadata> objectMetadata,
 1125        IReadOnlyDictionary<Type, IReadOnlyDictionary<string, IPropertyMetadata>> propertyMetadata)
 26    {
 1127        CustomFilterMethods = Guard.Against.Null(customFilterMethods);
 1128        CustomSortMethods = Guard.Against.Null(customSortMethods);
 1129        DefaultMetadata = Guard.Against.Null(defaultMetadata);
 1130        FilterOperators = Guard.Against.Null(filterOperators);
 1131        ExcludedBuiltInFilterOperators = Guard.Against.Null(excludedBuiltInFilterOperators);
 1132        ObjectMetadata = Guard.Against.Null(objectMetadata);
 1133        PropertyMetadata = Guard.Against.Null(propertyMetadata);
 1134    }
 35
 36    /// <inheritdoc/>
 037    public IReadOnlyDictionary<Type, IReadOnlyDictionary<string, ICustomFilterMethod>> CustomFilterMethods { get; }
 38
 39    /// <inheritdoc/>
 040    public IReadOnlyDictionary<Type, IReadOnlyDictionary<string, ICustomSortMethod>> CustomSortMethods { get; }
 41
 42    /// <inheritdoc/>
 743    public IReadOnlyDictionary<Type, IPropertyMetadata> DefaultMetadata { get; }
 44
 45    /// <inheritdoc/>
 846    public IReadOnlyDictionary<string, IFilterOperator> FilterOperators { get; }
 47
 48    /// <inheritdoc/>
 849    public IReadOnlySet<string> ExcludedBuiltInFilterOperators { get; }
 50
 51    /// <inheritdoc/>
 752    public IReadOnlyDictionary<Type, IObjectMetadata> ObjectMetadata { get; }
 53
 54    /// <inheritdoc/>
 955    public IReadOnlyDictionary<Type, IReadOnlyDictionary<string, IPropertyMetadata>> PropertyMetadata { get; }
 56}