< Summary

Information
Class: NexusLabs.Needlr.Generators.Models.RecordConstructorOverloadEmitContext
Assembly: NexusLabs.Needlr.Generators
File(s): /_work/nick-alienware-needlr-1-1784953859-3e8997/needlr/needlr/src/NexusLabs.Needlr.Generators/Models/RecordConstructorOverloads/RecordConstructorOverloadEmitContext.cs
Line coverage
71%
Covered lines: 10
Uncovered lines: 4
Coverable lines: 14
Total lines: 58
Line coverage: 71.4%
Branch coverage
25%
Covered branches: 1
Total branches: 4
Branch coverage: 25%
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(...)50%22100%
Equals(...)0%620%
GetHashCode()100%210%
op_Equality(...)100%210%
op_Inequality(...)100%210%

File(s)

/_work/nick-alienware-needlr-1-1784953859-3e8997/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    {
 1715        AssemblyName = assemblyName;
 1716        BreadcrumbLevel = breadcrumbLevel;
 1717    }
 18
 2419    public string AssemblyName { get; }
 20
 2421    public BreadcrumbLevel BreadcrumbLevel { get; }
 22
 23    public bool Equals(RecordConstructorOverloadEmitContext other)
 24    {
 425        return string.Equals(
 426                AssemblyName,
 427                other.AssemblyName,
 428                StringComparison.Ordinal) &&
 429            BreadcrumbLevel == other.BreadcrumbLevel;
 30    }
 31
 32    public override bool Equals(object? obj)
 33    {
 034        return obj is RecordConstructorOverloadEmitContext other && Equals(other);
 35    }
 36
 37    public override int GetHashCode()
 38    {
 39        unchecked
 40        {
 041            return (AssemblyName.GetHashCode() * 397) ^ (int)BreadcrumbLevel;
 42        }
 43    }
 44
 45    public static bool operator ==(
 46        RecordConstructorOverloadEmitContext left,
 47        RecordConstructorOverloadEmitContext right)
 48    {
 049        return left.Equals(right);
 50    }
 51
 52    public static bool operator !=(
 53        RecordConstructorOverloadEmitContext left,
 54        RecordConstructorOverloadEmitContext right)
 55    {
 056        return !left.Equals(right);
 57    }
 58}