< Summary - Combined Code Coverage

Information
Class: NLightning.Domain.Protocol.Tlv.NetworksTlv
Assembly: NLightning.Domain
File(s): /home/runner/work/nlightning/nlightning/src/NLightning.Domain/Protocol/Tlv/NetworksTLV.cs
Tag: 36_15743069263
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 37
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_ChainHashes()100%11100%
.ctor(...)100%22100%

File(s)

/home/runner/work/nlightning/nlightning/src/NLightning.Domain/Protocol/Tlv/NetworksTLV.cs

#LineLine coverage
 1namespace NLightning.Domain.Protocol.Tlv;
 2
 3using Constants;
 4using Domain.Crypto.Constants;
 5using ValueObjects;
 6
 7/// <summary>
 8/// Networks TLV.
 9/// </summary>
 10/// <remarks>
 11/// The "Networks TLV" is used in the InitMessage to communicate the networks that the node supports.
 12/// </remarks>
 13public class NetworksTlv : BaseTlv
 14{
 15    /// <summary>
 16    /// The chain hashes.
 17    /// </summary>
 18    /// <remarks>
 19    /// The chain hashes are the hashes of the chains that the node supports.
 20    /// </remarks>
 8021    public IEnumerable<ChainHash>? ChainHashes { get; }
 22
 2023    public NetworksTlv(IEnumerable<ChainHash> chainHashes) : base(TlvConstants.Networks)
 24    {
 2025        ChainHashes = chainHashes.ToList();
 26
 2027        Value = new byte[CryptoConstants.Sha256HashLen * ChainHashes.Count()];
 28
 8029        for (var i = 0; i < ChainHashes.Count(); i++)
 30        {
 2031            byte[] chainHash = ChainHashes.ElementAt(i);
 2032            chainHash.CopyTo(Value, i * CryptoConstants.Sha256HashLen);
 33        }
 34
 2035        Length = Value.Length;
 2036    }
 37}