< Summary

Information
Class: GridForge.ObstacleToken
Assembly: GridForge
File(s): /home/runner/work/GridForge/GridForge/src/GridForge/Support/ObstacleToken.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 52
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%
get_IsValid()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/GridForge/GridForge/src/GridForge/Support/ObstacleToken.cs

#LineLine coverage
 1//=======================================================================
 2// ObstacleToken.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 GridForge;
 11
 12/// <summary>
 13/// Opaque process-unique identity for one obstacle registration lifetime.
 14/// </summary>
 15public readonly struct ObstacleToken : IEquatable<ObstacleToken>
 16{
 17    private readonly long _value;
 18
 19    internal ObstacleToken(long value)
 20    {
 51121        _value = value;
 51122    }
 23
 24    /// <summary>
 25    /// Indicates whether this token identifies an allocated obstacle registration.
 26    /// </summary>
 134427    public bool IsValid => _value != 0;
 28
 29    /// <inheritdoc />
 10730    public bool Equals(ObstacleToken other) => _value == other._value;
 31
 32    /// <inheritdoc />
 233    public override bool Equals(object? obj) => obj is ObstacleToken other && Equals(other);
 34
 35    /// <inheritdoc />
 110336    public override int GetHashCode() => _value.GetHashCode();
 37
 38    /// <summary>
 39    /// Returns the runtime token value for diagnostics.
 40    /// </summary>
 141    public override string ToString() => _value.ToString();
 42
 43    /// <summary>
 44    /// Compares two obstacle registration tokens for equality.
 45    /// </summary>
 246    public static bool operator ==(ObstacleToken left, ObstacleToken right) => left.Equals(right);
 47
 48    /// <summary>
 49    /// Compares two obstacle registration tokens for inequality.
 50    /// </summary>
 251    public static bool operator !=(ObstacleToken left, ObstacleToken right) => !left.Equals(right);
 52}