< Summary

Information
Class: Trailblazer.Pathing.NavigationAreaId
Assembly: Trailblazer
File(s): /home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Traversal/NavigationAreaId.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 46
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
.ctor(...)100%11100%
CompareTo(...)100%11100%
Equals(...)100%11100%
Equals(...)100%22100%
GetHashCode()100%11100%
ToString()100%11100%
op_Equality(...)100%11100%
op_Inequality(...)100%11100%

File(s)

/home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Traversal/NavigationAreaId.cs

#LineLine coverage
 1//=======================================================================
 2// NavigationAreaId.cs
 3//=======================================================================
 4// MIT License, Copyright (c) 2024-present David Oravsky (mrdav30)
 5// See LICENSE file in the project root for full license information.
 6//=======================================================================
 7
 8using System;
 9
 10namespace Trailblazer.Pathing;
 11
 12/// <summary>
 13/// Identifies one host-defined navigation area independently of registration order.
 14/// </summary>
 15public readonly struct NavigationAreaId : IEquatable<NavigationAreaId>, IComparable<NavigationAreaId>
 16{
 17    /// <summary>Creates an explicitly assigned host-defined area identifier.</summary>
 18    public NavigationAreaId(ushort value)
 19    {
 4020        Value = value;
 4021    }
 22
 23    /// <summary>Gets the stable numeric identifier. Zero denotes the default area.</summary>
 24    public ushort Value { get; }
 25
 26    /// <inheritdoc/>
 127    public int CompareTo(NavigationAreaId other) => Value.CompareTo(other.Value);
 28
 29    /// <inheritdoc/>
 6730    public bool Equals(NavigationAreaId other) => Value == other.Value;
 31
 32    /// <inheritdoc/>
 1633    public override bool Equals(object? obj) => obj is NavigationAreaId other && Equals(other);
 34
 35    /// <inheritdoc/>
 1636    public override int GetHashCode() => Value;
 37
 38    /// <inheritdoc/>
 139    public override string ToString() => Value.ToString(System.Globalization.CultureInfo.InvariantCulture);
 40
 41    /// <summary>Tests two identifiers for equality.</summary>
 5142    public static bool operator ==(NavigationAreaId left, NavigationAreaId right) => left.Equals(right);
 43
 44    /// <summary>Tests two identifiers for inequality.</summary>
 145    public static bool operator !=(NavigationAreaId left, NavigationAreaId right) => !left.Equals(right);
 46}