< Summary

Information
Class: Fluorite.Strainer.Services.Pipelines.StrainerPipelineBuilder
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Services/Pipelines/StrainerPipelineBuilder.cs
Line coverage
100%
Covered lines: 18
Uncovered lines: 0
Coverable lines: 18
Total lines: 49
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%
Build()100%11100%
Filter()100%11100%
Paginate()100%11100%
Sort()100%11100%

File(s)

/builds/fluorite/strainer/src/Strainer/Services/Pipelines/StrainerPipelineBuilder.cs

#LineLine coverage
 1namespace Fluorite.Strainer.Services.Pipelines;
 2
 3public class StrainerPipelineBuilder : IStrainerPipelineBuilder
 4{
 5    private readonly List<IStrainerPipelineOperation> _operations;
 6    private readonly IFilterPipelineOperation _filterPipelineOperation;
 7    private readonly ISortPipelineOperation _sortPipelineOperation;
 8    private readonly IPaginatePipelineOperation _paginatePipelineOperation;
 9    private readonly IStrainerOptionsProvider _strainerOptionsProvider;
 10
 311    public StrainerPipelineBuilder(
 312        IFilterPipelineOperation filterPipelineOperation,
 313        ISortPipelineOperation sortPipelineOperation,
 314        IPaginatePipelineOperation paginatePipelineOperation,
 315        IStrainerOptionsProvider strainerOptionsProvider)
 16    {
 317        _operations = new();
 318        _filterPipelineOperation = Guard.Against.Null(filterPipelineOperation);
 319        _sortPipelineOperation = Guard.Against.Null(sortPipelineOperation);
 320        _paginatePipelineOperation = Guard.Against.Null(paginatePipelineOperation);
 321        _strainerOptionsProvider = Guard.Against.Null(strainerOptionsProvider);
 322    }
 23
 24    public IStrainerPipeline Build()
 25    {
 226        return new StrainerPipeline(_operations, _strainerOptionsProvider);
 27    }
 28
 29    public IStrainerPipelineBuilder Filter()
 30    {
 131        _operations.Add(_filterPipelineOperation);
 32
 133        return this;
 34    }
 35
 36    public IStrainerPipelineBuilder Paginate()
 37    {
 138        _operations.Add(_paginatePipelineOperation);
 39
 140        return this;
 41    }
 42
 43    public IStrainerPipelineBuilder Sort()
 44    {
 145        _operations.Add(_sortPipelineOperation);
 46
 147        return this;
 48    }
 49}