< Summary - Combined Code Coverage

Information
Class: NLightning.Domain.ValueObjects.ChannelFlags
Assembly: NLightning.Domain
File(s): /home/runner/work/nlightning/nlightning/src/NLightning.Domain/ValueObjects/ChannelFlags.cs
Tag: 30_15166811759
Line coverage
62%
Covered lines: 10
Uncovered lines: 6
Coverable lines: 16
Total lines: 55
Line coverage: 62.5%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_AnnounceChannel()100%11100%
.ctor(...)100%11100%
.ctor(...)100%11100%
Equals(...)0%620%
Equals(...)100%11100%
GetHashCode()100%210%
op_Equality(...)100%210%
op_Inequality(...)100%210%
op_Implicit(...)100%11100%
op_Implicit(...)100%11100%
op_Implicit(...)100%11100%
op_Implicit(...)100%11100%

File(s)

/home/runner/work/nlightning/nlightning/src/NLightning.Domain/ValueObjects/ChannelFlags.cs

#LineLine coverage
 1namespace NLightning.Domain.ValueObjects;
 2
 3using Enums;
 4using Interfaces;
 5
 6/// <summary>
 7/// Only the least-significant bit of channel_flags is currently defined: announce_channel. This indicates whether
 8/// the initiator of the funding flow wishes to advertise this channel publicly to the network
 9/// </summary>
 10public readonly struct ChannelFlags : IValueObject, IEquatable<ChannelFlags>
 11{
 12    private readonly byte _value;
 13
 1614    public bool AnnounceChannel => ((ChannelFlag)_value).HasFlag(ChannelFlag.AnnounceChannel);
 15
 16    public ChannelFlags(byte value)
 17    {
 4018        _value = value;
 4019    }
 20    public ChannelFlags(ChannelFlag value)
 21    {
 422        _value = (byte)value;
 423    }
 24
 25    #region Equality
 26    public override bool Equals(object? obj)
 27    {
 028        if (obj is ChannelFlags other)
 29        {
 030            return _value == other._value;
 31        }
 032        return false;
 33    }
 34
 35    public bool Equals(ChannelFlags other)
 36    {
 1237        return _value == other._value;
 38    }
 39
 40    public override int GetHashCode()
 41    {
 042        return _value.GetHashCode();
 43    }
 44
 045    public static bool operator ==(ChannelFlags left, ChannelFlags right) => left.Equals(right);
 046    public static bool operator !=(ChannelFlags left, ChannelFlags right) => !(left == right);
 47    #endregion
 48
 49    #region Implicit Conversions
 2450    public static implicit operator byte(ChannelFlags c) => c._value;
 451    public static implicit operator ChannelFlags(byte value) => new(value);
 452    public static implicit operator byte[](ChannelFlags c) => [c._value];
 453    public static implicit operator ChannelFlags(byte[] value) => new(value[0]);
 54    #endregion
 55}