< Summary

Information
Class: Pozitron.QuerySpecification.SpecificationValidator
Assembly: Pozitron.QuerySpecification
File(s): /home/runner/work/QuerySpecification/QuerySpecification/src/QuerySpecification/Validators/SpecificationValidator.cs
Tag: 44_11195777782
Line coverage
100%
Covered lines: 16
Uncovered lines: 0
Coverable lines: 16
Total lines: 31
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
get_Validators()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
IsValid(...)100%44100%

File(s)

/home/runner/work/QuerySpecification/QuerySpecification/src/QuerySpecification/Validators/SpecificationValidator.cs

#LineLine coverage
 1namespace Pozitron.QuerySpecification;
 2
 3public class SpecificationValidator
 4{
 15    public static SpecificationValidator Default = new();
 6
 87    protected List<IValidator> Validators { get; }
 8
 29    public SpecificationValidator()
 10    {
 211        Validators =
 212        [
 213            WhereValidator.Instance,
 214            LikeValidator.Instance
 215        ];
 216    }
 117    public SpecificationValidator(IEnumerable<IValidator> validators)
 18    {
 119        Validators = validators.ToList();
 120    }
 21
 22    public virtual bool IsValid<T>(T entity, Specification<T> specification)
 23    {
 3024        foreach (var partialValidator in Validators)
 25        {
 1226            if (partialValidator.IsValid(entity, specification) == false) return false;
 27        }
 28
 429        return true;
 230    }
 31}