< Summary - Combined Code Coverage

Information
Class: NLightning.Infrastructure.Serialization.Factories.ValueObjectSerializerFactory
Assembly: NLightning.Infrastructure.Serialization
File(s): /home/runner/work/nlightning/nlightning/src/NLightning.Infrastructure.Serialization/Factories/ValueObjectSerializerFactory.cs
Tag: 36_15743069263
Line coverage
100%
Covered lines: 12
Uncovered lines: 0
Coverable lines: 12
Total lines: 35
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
.ctor()100%11100%
GetSerializer()100%11100%
RegisterSerializers()100%11100%

File(s)

/home/runner/work/nlightning/nlightning/src/NLightning.Infrastructure.Serialization/Factories/ValueObjectSerializerFactory.cs

#LineLine coverage
 1using NLightning.Domain.Bitcoin.ValueObjects;
 2using NLightning.Domain.Interfaces;
 3using NLightning.Domain.Serialization.Interfaces;
 4
 5namespace NLightning.Infrastructure.Serialization.Factories;
 6
 7using Domain.Channels.ValueObjects;
 8using Domain.Protocol.ValueObjects;
 9using ValueObjects;
 10
 11public class ValueObjectSerializerFactory : IValueObjectSerializerFactory
 12{
 1613    private readonly Dictionary<Type, IValueObjectTypeSerializer> _serializers = new();
 14
 1615    public ValueObjectSerializerFactory()
 16    {
 1617        RegisterSerializers();
 1618    }
 19
 20    public IValueObjectTypeSerializer<TValueObjectType>? GetSerializer<TValueObjectType>()
 21        where TValueObjectType : IValueObject
 22    {
 36423        return _serializers.GetValueOrDefault(typeof(TValueObjectType)) as IValueObjectTypeSerializer<TValueObjectType>;
 24    }
 25
 26    private void RegisterSerializers()
 27    {
 1628        _serializers.Add(typeof(BigSize), new BigSizeTypeSerializer());
 1629        _serializers.Add(typeof(ChainHash), new ChainHashTypeSerializer());
 1630        _serializers.Add(typeof(ChannelFlags), new ChannelFlagTypeSerializer());
 1631        _serializers.Add(typeof(ChannelId), new ChannelIdTypeSerializer());
 1632        _serializers.Add(typeof(ShortChannelId), new ShortChannelIdTypeSerializer());
 1633        _serializers.Add(typeof(Witness), new WitnessTypeSerializer());
 1634    }
 35}