< Summary

Information
Class: Spdx3.Model.Build.Classes.Build
Assembly: Spdx3
File(s): /home/runner/work/Spdx3/Spdx3/Spdx3/Model/Build/Classes/Build.cs
Line coverage
100%
Covered lines: 17
Uncovered lines: 0
Coverable lines: 17
Total lines: 64
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_BuildEndTime()100%11100%
get_BuildId()100%11100%
get_BuildStartTime()100%11100%
get_BuildType()100%11100%
get_ConfigSourceDigest()100%11100%
get_ConfigSourceEntrypoint()100%11100%
get_ConfigSourceUri()100%11100%
get_Environment()100%11100%
get_Parameter()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
Validate()100%11100%

File(s)

/home/runner/work/Spdx3/Spdx3/Spdx3/Model/Build/Classes/Build.cs

#LineLine coverage
 1using System.Diagnostics.CodeAnalysis;
 2using System.Text.Json.Serialization;
 3using Spdx3.Model.Core.Classes;
 4using Spdx3.Serialization;
 5using Spdx3.Utility;
 6
 7namespace Spdx3.Model.Build.Classes;
 8
 9public class Build : Element
 10{
 11    [JsonPropertyName("build_buildEndTime")]
 12    [JsonConverter(typeof(SpdxModelConverterFactory))]
 513    public DateTimeOffset? BuildEndTime { get; set; }
 14
 15    [JsonPropertyName("build_buildId")]
 16    [JsonConverter(typeof(SpdxModelConverterFactory))]
 717    public string? BuildId { get; set; }
 18
 19    [JsonPropertyName("build_buildStartTime")]
 20    [JsonConverter(typeof(SpdxModelConverterFactory))]
 521    public DateTimeOffset? BuildStartTime { get; set; }
 22
 23    [JsonPropertyName("build_buildType")]
 24    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1125    public required Uri BuildType { get; set; }
 26
 27    [JsonPropertyName("build_configSourceDigest")]
 28    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1129    public IList<Hash> ConfigSourceDigest { get; set; } = new List<Hash>();
 30
 31    [JsonPropertyName("build_configSourceEntrypoint")]
 32    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1133    public IList<string> ConfigSourceEntrypoint { get; set; } = new List<string>();
 34
 35    [JsonPropertyName("build_configSourceUri")]
 36    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1137    public IList<Uri> ConfigSourceUri { get; set; } = new List<Uri>();
 38
 39    [JsonPropertyName("build_environment")]
 40    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1141    public IList<DictionaryEntry> Environment { get; } = new List<DictionaryEntry>();
 42
 43    [JsonPropertyName("build_parameter")]
 44    [JsonConverter(typeof(SpdxModelConverterFactory))]
 1145    public IList<DictionaryEntry> Parameter { get; } = new List<DictionaryEntry>();
 46
 47    // protected internal no-parm constructor required for deserialization
 48    // ReSharper disable once UnusedMember.Global
 249    protected internal Build()
 50    {
 251    }
 52
 53    [SetsRequiredMembers]
 254    public Build(Catalog catalog, CreationInfo creationInfo, Uri buildType) : base(catalog, creationInfo)
 55    {
 256        BuildType = buildType;
 257    }
 58
 59    public override void Validate()
 60    {
 361        base.Validate();
 262        ValidateRequiredProperty(nameof(BuildType));
 263    }
 64}