< Summary

Information
Class: Fluorite.Strainer.Services.Sorting.CustomSortMethodBuilderWithExpression<T>
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Sorting/CustomSortMethodBuilderWithExpression.cs
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 39
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
.ctor(...)100%11100%
get_Expression()100%11100%
get_SortTermExpression()100%11100%
Build()100%22100%

File(s)

/builds/fluorite/strainer/src/Strainer/Services/Sorting/CustomSortMethodBuilderWithExpression.cs

#LineLine coverage
 1using Fluorite.Strainer.Models.Sorting;
 2using Fluorite.Strainer.Models.Sorting.Terms;
 3using System.Linq.Expressions;
 4
 5namespace Fluorite.Strainer.Services.Sorting;
 6
 7public class CustomSortMethodBuilderWithExpression<TEntity> : CustomSortMethodBuilderWithName<TEntity>, ICustomSortMetho
 8{
 9    public CustomSortMethodBuilderWithExpression(
 10        string name, Expression<Func<TEntity, object>> expression)
 511        : base(name)
 12    {
 513        Expression = Guard.Against.Null(expression);
 514    }
 15
 16    public CustomSortMethodBuilderWithExpression(
 17        string name,
 18        Func<ISortTerm, Expression<Func<TEntity, object>>> sortTermExpression)
 119        : base(name)
 20    {
 121        SortTermExpression = Guard.Against.Null(sortTermExpression);
 122    }
 23
 424    public Expression<Func<TEntity, object>>? Expression { get; }
 25
 626    public Func<ISortTerm, Expression<Func<TEntity, object>>>? SortTermExpression { get; }
 27
 28    public ICustomSortMethod<TEntity> Build()
 29    {
 530        if (SortTermExpression is null)
 31        {
 432            return new CustomSortMethod<TEntity>(Name, Expression!);
 33        }
 34        else
 35        {
 136            return new CustomSortMethod<TEntity>(Name, SortTermExpression);
 37        }
 38    }
 39}