< Summary

Information
Class: Fluorite.Strainer.Services.Filtering.FilterExpressionWorkflowBuilder
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Filtering/FilterExpressionWorkflowBuilder.cs
Line coverage
100%
Covered lines: 24
Uncovered lines: 0
Coverable lines: 24
Total lines: 51
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%
BuildDefaultWorkflow()100%11100%

File(s)

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

#LineLine coverage
 1using Fluorite.Strainer.Services.Filtering.Steps;
 2
 3namespace Fluorite.Strainer.Services.Filtering;
 4
 5/// <summary>
 6/// Provides filter workflow building capabilites.
 7/// </summary>
 8public class FilterExpressionWorkflowBuilder : IFilterExpressionWorkflowBuilder
 9{
 10    private readonly IConvertPropertyValueToStringStep _convertPropertyValueToStringStep;
 11    private readonly IConvertFilterValueToStringStep _convertFilterValueToStringStep;
 12    private readonly IChangeTypeOfFilterValueStep _changeTypeOfFilterValueStep;
 13    private readonly IApplyConsantClosureToFilterValueStep _applyConsantClosureToFilterValueStep;
 14    private readonly IMitigateCaseInsensitivityStep _mitigateCaseInsensitivityStep;
 15    private readonly IApplyFilterOperatorStep _applyFilterOperatorStep;
 16
 17    /// <summary>
 18    /// Initializes a new instance of the <see cref="FilterExpressionWorkflowBuilder"/> class.
 19    /// </summary>
 220    public FilterExpressionWorkflowBuilder(
 221        IConvertPropertyValueToStringStep convertPropertyValueToStringStep,
 222        IConvertFilterValueToStringStep convertFilterValueToStringStep,
 223        IChangeTypeOfFilterValueStep changeTypeOfFilterValueStep,
 224        IApplyConsantClosureToFilterValueStep applyConsantClosureToFilterValueStep,
 225        IMitigateCaseInsensitivityStep mitigateCaseInsensitivityStep,
 226        IApplyFilterOperatorStep applyFilterOperatorStep)
 27    {
 228        _convertPropertyValueToStringStep = Guard.Against.Null(convertPropertyValueToStringStep);
 229        _convertFilterValueToStringStep = Guard.Against.Null(convertFilterValueToStringStep);
 230        _changeTypeOfFilterValueStep = Guard.Against.Null(changeTypeOfFilterValueStep);
 231        _applyConsantClosureToFilterValueStep = Guard.Against.Null(applyConsantClosureToFilterValueStep);
 232        _mitigateCaseInsensitivityStep = Guard.Against.Null(mitigateCaseInsensitivityStep);
 233        _applyFilterOperatorStep = Guard.Against.Null(applyFilterOperatorStep);
 234    }
 35
 36    /// <inheritdoc/>
 37    public IFilterExpressionWorkflow BuildDefaultWorkflow()
 38    {
 139        var steps = new List<IFilterExpressionWorkflowStep>
 140        {
 141            _convertPropertyValueToStringStep,
 142            _convertFilterValueToStringStep,
 143            _changeTypeOfFilterValueStep,
 144            _applyConsantClosureToFilterValueStep,
 145            _mitigateCaseInsensitivityStep,
 146            _applyFilterOperatorStep,
 147        };
 48
 149        return new FilterExpressionWorkflow(steps);
 50    }
 51}