< Summary

Information
Class: Fluorite.Strainer.Services.Filtering.FilterOperatorBuilderWithExpression
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Filtering/FilterOperatorBuilderWithExpression.cs
Line coverage
100%
Covered lines: 15
Uncovered lines: 0
Coverable lines: 15
Total lines: 45
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%
get_Expression()100%11100%
get_IsCaseInsensitiveValue()100%11100%
get_IsStringBasedValue()100%11100%
Build()100%11100%
IsCaseInsensitive()100%11100%
IsStringBased()100%11100%

File(s)

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

#LineLine coverage
 1using Fluorite.Strainer.Models.Filtering.Operators;
 2using System.Linq.Expressions;
 3
 4namespace Fluorite.Strainer.Services.Filtering;
 5
 6public class FilterOperatorBuilderWithExpression : FilterOperatorBuilderWithName, IFilterOperatorBuilderWithExpression
 7{
 8    public FilterOperatorBuilderWithExpression(
 9        string symbol,
 10        string name,
 11        Func<IFilterExpressionContext, Expression> expression)
 2512        : base(symbol, name)
 13    {
 2514        Expression = Guard.Against.Null(expression);
 2515    }
 16
 2517    protected Func<IFilterExpressionContext, Expression> Expression { get; }
 18
 3319    protected bool IsCaseInsensitiveValue { get; private set; }
 20
 3921    protected bool IsStringBasedValue { get; private set; }
 22
 23    public IFilterOperator Build()
 24    {
 2525        return new FilterOperator(Name, Symbol, Expression)
 2526        {
 2527            IsCaseInsensitive = IsCaseInsensitiveValue,
 2528            IsStringBased = IsStringBasedValue,
 2529        };
 30    }
 31
 32    public IFilterOperatorBuilderWithExpression IsCaseInsensitive()
 33    {
 834        IsCaseInsensitiveValue = true;
 35
 836        return this;
 37    }
 38
 39    public IFilterOperatorBuilderWithExpression IsStringBased()
 40    {
 1441        IsStringBasedValue = true;
 42
 1443        return this;
 44    }
 45}