< Summary

Information
Class: Spdx3.Model.Core.Classes.NamespaceMap
Assembly: Spdx3
File(s): /home/runner/work/Spdx3/Spdx3/Spdx3/Model/Core/Classes/NamespaceMap.cs
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 47
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
get_Prefix()100%11100%
get_Namespace()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
Validate()100%11100%
Accept(...)100%11100%

File(s)

/home/runner/work/Spdx3/Spdx3/Spdx3/Model/Core/Classes/NamespaceMap.cs

#LineLine coverage
 1using System.Diagnostics.CodeAnalysis;
 2using System.Text.Json.Serialization;
 3using Spdx3.Model.Lite;
 4using Spdx3.Serialization;
 5using Spdx3.Utility;
 6
 7namespace Spdx3.Model.Core.Classes;
 8
 9/// <summary>
 10///     A mapping between prefixes and namespace partial URIs.
 11///     See https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Classes/NamespaceMap/
 12/// </summary>
 13public class NamespaceMap : BaseModelClass, ILiteDomainCompliantElement
 14{
 15    [JsonPropertyName("prefix")]
 16    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1817    public required string Prefix { get; set; }
 18
 19    [JsonPropertyName("namespace")]
 20    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1621    public required Uri Namespace { get; set; }
 22
 23    // protected internal no-parm constructor required for deserialization
 24    // ReSharper disable once UnusedMember.Global
 125    protected internal NamespaceMap()
 26    {
 127    }
 28
 29    [SetsRequiredMembers]
 730    public NamespaceMap(Catalog catalog, string prefix, Uri @namespace) : base(catalog)
 31    {
 732        Prefix = prefix;
 733        Namespace = @namespace;
 734    }
 35
 36    public override void Validate()
 37    {
 538        base.Validate();
 439        ValidateRequiredProperty(nameof(Prefix));
 240        ValidateRequiredProperty(nameof(Namespace));
 141    }
 42
 43    public void Accept(ILiteDomainComplianceVisitor visitor)
 44    {
 145        visitor.Visit(this);
 146    }
 47}