< Summary

Information
Class: Fluorite.Strainer.Services.Filtering.CustomFilterMethodBuilderWithName<T>
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Filtering/CustomFilterMethodBuilderWithName.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 29
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_Name()100%11100%
HasFunction(...)100%11100%
HasFunction(...)100%11100%

File(s)

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

#LineLine coverage
 1using Fluorite.Strainer.Models.Filtering.Terms;
 2using System.Linq.Expressions;
 3
 4namespace Fluorite.Strainer.Services.Filtering;
 5
 6public class CustomFilterMethodBuilderWithName<TEntity> : CustomFilterMethodBuilder<TEntity>, ICustomFilterMethodBuilder
 7{
 118    public CustomFilterMethodBuilderWithName(string name)
 9    {
 1110        Name = Guard.Against.NullOrWhiteSpace(name);
 1111    }
 12
 1113    protected string Name { get; }
 14
 15    public ICustomFilterMethodBuilderWithExpression<TEntity> HasFunction(Expression<Func<TEntity, bool>> expression)
 16    {
 517        Guard.Against.Null(expression);
 18
 519        return new CustomFilterMethodBuilderWithExpression<TEntity>(Name, expression);
 20    }
 21
 22    public ICustomFilterMethodBuilderWithExpression<TEntity> HasFunction(
 23        Func<IFilterTerm, Expression<Func<TEntity, bool>>> filterTermExpression)
 24    {
 125        Guard.Against.Null(filterTermExpression);
 26
 127        return new CustomFilterMethodBuilderWithExpression<TEntity>(Name, filterTermExpression);
 28    }
 29}