< Summary

Information
Class: Spdx3.Serialization.SpdxWrapperConverterFactory
Assembly: Spdx3
File(s): /home/runner/work/Spdx3/Spdx3/Spdx3/Serialization/SpdxWrapperlConverterFactory.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 28
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
CanConvert(...)100%11100%
CreateConverter(...)100%11100%

File(s)

/home/runner/work/Spdx3/Spdx3/Spdx3/Serialization/SpdxWrapperlConverterFactory.cs

#LineLine coverage
 1using System.Reflection;
 2using System.Text.Json;
 3using System.Text.Json.Serialization;
 4
 5namespace Spdx3.Serialization;
 6
 7internal class SpdxWrapperConverterFactory : JsonConverterFactory
 8{
 9    public override bool CanConvert(Type typeToConvert)
 10    {
 2311        var canConvert = typeToConvert.IsAssignableTo(typeof(SpdxWrapper));
 12
 2313        return canConvert;
 14    }
 15
 16    public override JsonConverter? CreateConverter(Type typeToConvert, JsonSerializerOptions options)
 17    {
 1118        var converterGenericType = typeof(SpdxWrapperConverter<>);
 19
 1120        Type[] typeArgs = [typeToConvert];
 1121        var constructedType = converterGenericType.MakeGenericType(typeArgs);
 22
 1123        var converter = Activator.CreateInstance(constructedType, BindingFlags.Instance | BindingFlags.Public, null,
 1124            null, null);
 25
 1126        return converter as JsonConverter;
 27    }
 28}