< Summary

Information
Class: Spdx3.Model.Security.Classes.VexAffectedVulnAssessmentRelationship
Assembly: Spdx3
File(s): /home/runner/work/Spdx3/Spdx3/Spdx3/Model/Security/Classes/VexAffectedVulnAssessmentRelationship.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 43
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_ActionStatement()100%11100%
get_ActionStatementTime()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
Validate()100%11100%

File(s)

/home/runner/work/Spdx3/Spdx3/Spdx3/Model/Security/Classes/VexAffectedVulnAssessmentRelationship.cs

#LineLine coverage
 1using System.Diagnostics.CodeAnalysis;
 2using System.Text.Json.Serialization;
 3using Spdx3.Model.Core.Classes;
 4using Spdx3.Model.Core.Enums;
 5using Spdx3.Serialization;
 6using Spdx3.Utility;
 7
 8namespace Spdx3.Model.Security.Classes;
 9
 10/// <summary>
 11/// Connects a vulnerability and an element designating the element as a product affected by the vulnerability.
 12/// See https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Classes/VexAffectedVulnAssessmentRelationship/
 13/// </summary>
 14public class VexAffectedVulnAssessmentRelationship : VexVulnAssessmentRelationship
 15{
 16    [JsonPropertyName("security_actionStatement")]
 17    [JsonConverter(typeof(SpdxModelConverterFactory))]
 818    public required string ActionStatement { get; set; }
 19
 20    [JsonPropertyName("security_actionStatementTime")]
 21    [JsonConverter(typeof(SpdxModelConverterFactory))]
 222    public DateTimeOffset? ActionStatementTime { get; set; }
 23
 24    // protected internal no-parm constructor required for deserialization
 25#pragma warning disable CS8618, CS9264
 126    protected internal VexAffectedVulnAssessmentRelationship()
 27    {
 128    }
 29#pragma warning restore CS8618, CS9264
 30
 31    [SetsRequiredMembers]
 32    public VexAffectedVulnAssessmentRelationship(Catalog catalog, CreationInfo creationInfo, Vulnerability from,
 233        List<Element> to, string actionStatement) : base(catalog, creationInfo, RelationshipType.affects, from, to)
 34    {
 235        ActionStatement = actionStatement;
 236    }
 37
 38    public override void Validate()
 39    {
 240        base.Validate();
 241        ValidateRequiredProperty(nameof(ActionStatement));
 242    }
 43}