feat: ensured all primitives have ToString, GetHashCode & Equals methods
This commit is contained in:
@@ -44,6 +44,25 @@ public readonly struct Triangle(Vector2D A, Vector2D B, Vector2D C)
|
||||
/// <returns><c>true</c> if the <see cref="Triangle"/>s are approximately equal; otherwise, <c>false</c>.</returns>
|
||||
public static bool ApproximatelyEquals(Triangle left, Triangle right, float epsilon = float.Epsilon)
|
||||
=> left.A.ApproximatelyEquals(right.A, epsilon) && left.B.ApproximatelyEquals(right.B, epsilon) && left.C.ApproximatelyEquals(right.C, epsilon);
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the specified object is equal to the current <see cref="Triangle"/>.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to compare with the current <see cref="Triangle"/>.</param>
|
||||
/// <returns><see cref="true"/> if the specified object is equal to the current <see cref="Triangle"/>; otherwise, <see cref="false"/>.</returns>
|
||||
public override bool Equals(object? obj) => obj is Triangle triangle && A.Equals(triangle.A) && B.Equals(triangle.B) && C.Equals(triangle.C);
|
||||
|
||||
/// <summary>
|
||||
/// Generates a hash code for the <see cref="Triangle"/>.
|
||||
/// </summary>
|
||||
/// <returns>A hash code for the <see cref="Triangle"/>.</returns>
|
||||
public override int GetHashCode() => System.HashCode.Combine(A, B, C);
|
||||
|
||||
/// <summary>
|
||||
/// Converts the <see cref="Triangle"/> to its string representation.
|
||||
/// </summary>
|
||||
/// <returns>A string representation of the <see cref="Triangle"/>.</returns>
|
||||
public override string ToString() => $"{nameof(Triangle)}({A}, {B}, {C})";
|
||||
}
|
||||
|
||||
public static class TriangleExtensions
|
||||
|
||||
Reference in New Issue
Block a user