< Summary

Information
Class: NexusLabs.Needlr.Generators.Models.RecordConstructorOverloadEmitContext
Assembly: NexusLabs.Needlr.Generators
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.Generators/Models/RecordConstructorOverloads/RecordConstructorOverloadEmitContext.cs
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 58
Line coverage: 100%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_AssemblyName()100%11100%
get_BreadcrumbLevel()100%11100%
Equals(...)100%22100%
Equals(...)50%22100%
GetHashCode()100%11100%
op_Equality(...)100%11100%
op_Inequality(...)100%11100%

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.Generators/Models/RecordConstructorOverloads/RecordConstructorOverloadEmitContext.cs

#LineLine coverage
 1using System;
 2
 3namespace NexusLabs.Needlr.Generators.Models;
 4
 5/// <summary>
 6/// Stable scalar context combined with each record-overload model during emission.
 7/// </summary>
 8internal readonly struct RecordConstructorOverloadEmitContext :
 9    IEquatable<RecordConstructorOverloadEmitContext>
 10{
 11    public RecordConstructorOverloadEmitContext(
 12        string assemblyName,
 13        BreadcrumbLevel breadcrumbLevel)
 14    {
 4415        AssemblyName = assemblyName;
 4416        BreadcrumbLevel = breadcrumbLevel;
 4417    }
 18
 10219    public string AssemblyName { get; }
 20
 10021    public BreadcrumbLevel BreadcrumbLevel { get; }
 22
 23    public bool Equals(RecordConstructorOverloadEmitContext other)
 24    {
 2325        return string.Equals(
 2326                AssemblyName,
 2327                other.AssemblyName,
 2328                StringComparison.Ordinal) &&
 2329            BreadcrumbLevel == other.BreadcrumbLevel;
 30    }
 31
 32    public override bool Equals(object? obj)
 33    {
 234        return obj is RecordConstructorOverloadEmitContext other && Equals(other);
 35    }
 36
 37    public override int GetHashCode()
 38    {
 39        unchecked
 40        {
 441            return (AssemblyName.GetHashCode() * 397) ^ (int)BreadcrumbLevel;
 42        }
 43    }
 44
 45    public static bool operator ==(
 46        RecordConstructorOverloadEmitContext left,
 47        RecordConstructorOverloadEmitContext right)
 48    {
 149        return left.Equals(right);
 50    }
 51
 52    public static bool operator !=(
 53        RecordConstructorOverloadEmitContext left,
 54        RecordConstructorOverloadEmitContext right)
 55    {
 156        return !left.Equals(right);
 57    }
 58}