< Summary

Information
Class: Spdx3.Model.Lite.LiteDomainComplianceChecker
Assembly: Spdx3
File(s): /home/runner/work/Spdx3/Spdx3/Spdx3/Model/Lite/LiteDomainComplianceChecker.cs
Line coverage
90%
Covered lines: 10
Uncovered lines: 1
Coverable lines: 11
Total lines: 33
Line coverage: 90.9%
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
get_Findings()100%11100%
get_IsCompliant()100%11100%
get_Problems()100%11100%
get_Recommendations()100%210%
.ctor(...)100%44100%

File(s)

/home/runner/work/Spdx3/Spdx3/Spdx3/Model/Lite/LiteDomainComplianceChecker.cs

#LineLine coverage
 1using System.Collections.ObjectModel;
 2using Spdx3.Utility;
 3
 4namespace Spdx3.Model.Lite;
 5
 6public class LiteDomainComplianceChecker
 7{
 8    private readonly List<LiteDomainComplianceFinding> _findings;
 89    public ReadOnlyCollection<LiteDomainComplianceFinding> Findings => _findings.AsReadOnly();
 10
 311    public bool IsCompliant => Problems.Count == 0;
 12
 13    public ReadOnlyCollection<LiteDomainComplianceFinding> Problems =>
 3414        _findings.Where(f => f.FindingType == LiteDomainComplianceFindingType.problem).ToList().AsReadOnly();
 15
 16    public ReadOnlyCollection<LiteDomainComplianceFinding> Recommendations =>
 017        _findings.Where(f => f.FindingType == LiteDomainComplianceFindingType.recommendation).ToList().AsReadOnly();
 18
 319    public LiteDomainComplianceChecker(Catalog catalog)
 20    {
 321        var v = new LiteDomainComplianceVisitor();
 22
 6423        foreach (var baseModelClass in catalog.Items.Values)
 24        {
 2925            if (baseModelClass is ILiteDomainCompliantElement liteClass)
 26            {
 2827                liteClass.Accept(v);
 28            }
 29        }
 30
 331        _findings = v.Findings;
 332    }
 33}