< Summary

Information
Class: Spdx3.Model.Extension.Classes.CdxPropertyEntry
Assembly: Spdx3
File(s): /home/runner/work/Spdx3/Spdx3/Spdx3/Model/Extension/Classes/CdxPropertyEntry.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 45
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_CdxPropName()100%11100%
get_CdxPropValue()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
.ctor(...)100%11100%
Validate()100%11100%

File(s)

/home/runner/work/Spdx3/Spdx3/Spdx3/Model/Extension/Classes/CdxPropertyEntry.cs

#LineLine coverage
 1using System.Diagnostics.CodeAnalysis;
 2using System.Text.Json.Serialization;
 3using Spdx3.Serialization;
 4using Spdx3.Utility;
 5
 6namespace Spdx3.Model.Extension.Classes;
 7
 8/// <summary>
 9///     A property name with an associated value.
 10///     See https://spdx.github.io/spdx-spec/v3.0.1/model/Extension/Classes/CdxPropertyEntry/
 11/// </summary>
 12public class CdxPropertyEntry : BaseModelClass
 13{
 14    [JsonPropertyName("extension_cdxPropName")]
 15    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1116    public required string CdxPropName { get; set; }
 17
 18    [JsonPropertyName("extension_cdxPropValue")]
 19    [JsonConverter(typeof(SpdxModelConverterFactory))]
 520    public string? CdxPropValue { get; set; }
 21
 22    // protected internal no-parm constructor required for deserialization
 23    // ReSharper disable once UnusedMember.Global
 324    protected internal CdxPropertyEntry()
 25    {
 326    }
 27
 28    [SetsRequiredMembers]
 229    public CdxPropertyEntry(Catalog catalog, string cdxPropName, string cdxPropValue) : this(catalog, cdxPropName)
 30    {
 231        CdxPropValue = cdxPropValue;
 232    }
 33
 34    [method: SetsRequiredMembers]
 535    public CdxPropertyEntry(Catalog catalog, string cdxPropName) : base(catalog)
 36    {
 537        CdxPropName = cdxPropName;
 538    }
 39
 40    public override void Validate()
 41    {
 342        base.Validate();
 243        ValidateRequiredProperty(nameof(CdxPropName));
 244    }
 45}