< Summary - Code Coverage

Information
Class: Plainquire.Filter.Abstractions.ExpressionVisitors.ExpressionParameterReplaceVisitor
Assembly: Plainquire.Filter.Abstractions
File(s): /home/runner/work/plainquire/plainquire/Plainquire.Filter/Plainquire.Filter.Abstractions/ExpressionVisitors/ExpressionParameterReplaceVisitor.cs
Tag: 64_13932151703
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 35
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage
100%
Covered methods: 2
Total methods: 2
Method coverage: 100%

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)100%11100%
VisitParameter(...)100%44100%

File(s)

/home/runner/work/plainquire/plainquire/Plainquire.Filter/Plainquire.Filter.Abstractions/ExpressionVisitors/ExpressionParameterReplaceVisitor.cs

#LineLine coverage
 1using System.Collections.ObjectModel;
 2using System.Linq.Expressions;
 3
 4namespace Plainquire.Filter.Abstractions.ExpressionVisitors;
 5
 6/// <summary>
 7/// Replaces all parameters within an expression with another one.
 8/// Implements <see cref="ExpressionVisitor"/>
 9/// </summary>
 10/// <seealso cref="ExpressionVisitor"/>
 11public class ExpressionParameterReplaceVisitor : ExpressionVisitor
 12{
 13    private readonly ReadOnlyCollection<ParameterExpression> _from;
 14    private readonly ReadOnlyCollection<ParameterExpression> _to;
 15
 16    /// <summary>
 17    /// Initializes a new instance of the <see cref="ExpressionParameterReplaceVisitor"/> class.
 18    /// </summary>
 19    /// <param name="from">The parameter to replace.</param>
 20    /// <param name="to">The parameter to inset.</param>
 8221    public ExpressionParameterReplaceVisitor(ReadOnlyCollection<ParameterExpression> from, ReadOnlyCollection<ParameterE
 22    {
 8223        _from = from;
 8224        _to = to;
 8225    }
 26
 27    /// <inheritdoc />
 28    protected override Expression VisitParameter(ParameterExpression node)
 29    {
 70630        for (var i = 0; i < _from.Count; i++)
 25431            if (node == _from[i])
 15532                return _to[i];
 9933        return node;
 34    }
 35}