< Summary

Information
Class: Fluorite.Strainer.Services.Validation.StrainerConfigurationValidator
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Validation/StrainerConfigurationValidator.cs
Line coverage
100%
Covered lines: 15
Uncovered lines: 0
Coverable lines: 15
Total lines: 42
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%
Validate(...)100%11100%

File(s)

/builds/fluorite/strainer/src/Strainer/Services/Validation/StrainerConfigurationValidator.cs

#LineLine coverage
 1using Fluorite.Strainer.Models.Configuration;
 2
 3namespace Fluorite.Strainer.Services.Validation;
 4
 5/// <inheritdoc/>
 6public class StrainerConfigurationValidator : IStrainerConfigurationValidator
 7{
 8    private readonly IFilterOperatorValidator _filterOperatorValidator;
 9    private readonly ISortExpressionValidator _sortExpressionValidator;
 10
 1311    public StrainerConfigurationValidator(
 1312        IFilterOperatorValidator filterOperatorValidator,
 1313        ISortExpressionValidator sortExpressionValidator)
 14    {
 1315        _filterOperatorValidator = Guard.Against.Null(filterOperatorValidator);
 1316        _sortExpressionValidator = Guard.Against.Null(sortExpressionValidator);
 1317    }
 18
 19    /// <inheritdoc/>
 20    /// <exception cref="ArgumentNullException">
 21    /// <paramref name="strainerConfiguration"/> is <see langword="null"/>.
 22    /// </exception>
 23    /// <exception cref="InvalidOperationException">
 24    /// <paramref name="strainerConfiguration"/> is not valid.
 25    /// </exception>
 26    public void Validate(IStrainerConfiguration strainerConfiguration)
 27    {
 1128        Guard.Against.Null(strainerConfiguration);
 29
 30        try
 31        {
 1032            _filterOperatorValidator.Validate(strainerConfiguration.FilterOperators.Values, strainerConfiguration.Exclud
 1033            _sortExpressionValidator.Validate(strainerConfiguration.PropertyMetadata);
 934        }
 135        catch (Exception exception)
 36        {
 137            throw new InvalidOperationException(
 138                "Invalid Strainer configuration. See inner exception for details.",
 139                exception);
 40        }
 941    }
 42}