< Summary

Information
Class: Spdx3.Model.Core.Classes.Element
Assembly: Spdx3
File(s): /home/runner/work/Spdx3/Spdx3/Spdx3/Model/Core/Classes/Element.cs
Line coverage
100%
Covered lines: 18
Uncovered lines: 0
Coverable lines: 18
Total lines: 68
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_Comment()100%11100%
get_CreationInfo()100%11100%
get_Description()100%11100%
get_Extension()100%11100%
get_ExternalIdentifier()100%11100%
get_ExternalRef()100%11100%
get_Name()100%11100%
get_Summary()100%11100%
get_VerifiedUsing()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
Validate()100%11100%

File(s)

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

#LineLine coverage
 1using System.Diagnostics.CodeAnalysis;
 2using System.Text.Json.Serialization;
 3using Spdx3.Serialization;
 4using Spdx3.Utility;
 5
 6namespace Spdx3.Model.Core.Classes;
 7
 8/// <summary>
 9///     Base domain class from which all other SPDX-3.0 domain classes derive
 10///     See https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Classes/Element/
 11/// </summary>
 12public abstract class Element : BaseModelClass
 13{
 14    [JsonPropertyName("comment")]
 15    [JsonConverter(typeof(SpdxModelConverterFactory))]
 56916    public string? Comment { get; set; }
 17
 18    [JsonPropertyName("creationInfo")]
 19    [JsonConverter(typeof(SpdxModelConverterFactory))]
 185220    public required CreationInfo CreationInfo { get; set; }
 21
 22    [JsonPropertyName("description")]
 23    [JsonConverter(typeof(SpdxModelConverterFactory))]
 25724    public string? Description { get; set; }
 25
 26    [JsonPropertyName("extension")]
 27    [JsonConverter(typeof(SpdxModelConverterFactory))]
 175628    public IList<Extension.Classes.Extension> Extension { get; } = new List<Extension.Classes.Extension>();
 29
 30    [JsonPropertyName("externalIdentifier")]
 31    [JsonConverter(typeof(SpdxModelConverterFactory))]
 176632    public IList<ExternalIdentifier> ExternalIdentifier { get; } = new List<ExternalIdentifier>();
 33
 34    [JsonPropertyName("externalRef")]
 35    [JsonConverter(typeof(SpdxModelConverterFactory))]
 175536    public IList<ExternalRef> ExternalRef { get; } = new List<ExternalRef>();
 37
 38    [JsonPropertyName("name")]
 39    [JsonConverter(typeof(SpdxModelConverterFactory))]
 59040    public string? Name { get; set; }
 41
 42    [JsonPropertyName("summary")]
 43    [JsonConverter(typeof(SpdxModelConverterFactory))]
 22744    public string? Summary { get; set; }
 45
 46    [JsonPropertyName("verifiedUsing")]
 47    [JsonConverter(typeof(SpdxModelConverterFactory))]
 176848    public IList<IntegrityMethod> VerifiedUsing { get; } = new List<IntegrityMethod>();
 49
 50    // protected internal no-parm constructor required for deserialization
 81551    protected internal Element()
 52    {
 81553    }
 54
 55
 56    [SetsRequiredMembers]
 59457    protected Element(Catalog catalog, CreationInfo creationInfo) : base(catalog)
 58    {
 59459        CreationInfo = creationInfo;
 59460    }
 61
 62    public override void Validate()
 63    {
 13664        base.Validate();
 11365        ValidateRequiredProperty(nameof(CreationInfo));
 11366        ValidateRequiredProperty(nameof(Type));
 11367    }
 68}