feat: initial project commit
All checks were successful
default / default (8.0) (push) Successful in 1m7s

This commit is contained in:
Louis Seubert 2024-04-14 17:42:13 +02:00
commit 30ef7bd477
Signed by: louis9902
GPG key ID: 4B9DB28F826553BD
40 changed files with 3752 additions and 0 deletions

View file

@ -0,0 +1,173 @@
namespace Geekeey.Extensions.Result.Tests;
[TestFixture]
internal sealed class ResultEqualityTests
{
[Test]
public void Equals_T_ReturnsTrue_ForSuccessAndEqualValue()
{
var a = Success(2);
var b = 2;
Assert.That(a.Equals(b), Is.True);
}
[Test]
public void Equals_T_ReturnsFalse_ForSuccessAndUnequalValue()
{
var a = Success(2);
var b = 3;
Assert.That(a.Equals(b), Is.False);
}
[Test]
public void Equals_T_ReturnsFalse_ForFailure()
{
var a = Failure<int>("error");
var b = 2;
Assert.That(a.Equals(b), Is.False);
}
[Test]
public void Equals_Result_ReturnsTrue_ForSuccessAndSuccessAndEqualValue()
{
var a = Success(2);
var b = Success(2);
Assert.That(a.Equals(b), Is.True);
}
[Test]
public void Equals_Result_ReturnsFalse_ForSuccessAndSuccessAndUnequalValue()
{
var a = Success(2);
var b = Success(3);
Assert.That(a.Equals(b), Is.False);
}
[Test]
public void Equals_Result_ReturnsFalse_ForSuccessAndFailure()
{
var a = Success(2);
var b = Failure<int>("error 1");
Assert.That(a.Equals(b), Is.False);
}
[Test]
public void Equals_Result_ReturnsFalse_ForFailureAndSuccess()
{
var a = Failure<int>("error");
var b = Success(2);
Assert.That(a.Equals(b), Is.False);
}
[Test]
public void Equals_Result_ReturnsTrue_ForFailureAndFailure()
{
var a = Failure<int>("error 1");
var b = Failure<int>("error 2");
Assert.That(a.Equals(b), Is.True);
}
[Test]
public void Equals_T_ReturnsTrue_ForSuccessAndEqualValue_WithComparer()
{
var a = Success(2);
var b = 2;
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.True);
}
[Test]
public void Equals_T_ReturnsFalse_ForSuccessAndUnequalValue_WithComparer()
{
var a = Success(2);
var b = 3;
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.False);
}
[Test]
public void Equals_T_ReturnsFalse_ForFailure_WithComparer()
{
var a = Failure<int>("error");
var b = 2;
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.False);
}
[Test]
public void Equals_Result_ReturnsTrue_ForSuccessAndSuccessAndEqualValue_WithComparer()
{
var a = Success(2);
var b = Success(2);
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.True);
}
[Test]
public void Equals_Result_ReturnsFalse_ForSuccessAndSuccessAndUnequalValue_WithComparer()
{
var a = Success(2);
var b = Success(3);
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.False);
}
[Test]
public void Equals_Result_ReturnsFalse_ForSuccessAndFailure_WithComparer()
{
var a = Success(2);
var b = Failure<int>("error 1");
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.False);
}
[Test]
public void Equals_Result_ReturnsFalse_ForFailureAndSuccess_WithComparer()
{
var a = Failure<int>("error");
var b = Success(2);
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.False);
}
[Test]
public void Equals_Result_ReturnsTrue_ForFailureAndFailure_WithComparer()
{
var a = Failure<int>("error 1");
var b = Failure<int>("error 2");
Assert.That(a.Equals(b, EqualityComparer<int>.Default), Is.True);
}
[Test]
public void GetHashCode_ReturnsHashCode_ForSuccess()
{
var result = Success(2);
Assert.That(result.GetHashCode(), Is.EqualTo(2.GetHashCode()));
}
[Test]
public void GetHashCode_Returns_Zero_ForNull()
{
var result = Success<string?>(null);
Assert.That(result.GetHashCode(), Is.Zero);
}
[Test]
public void GetHashCode_Returns_Zero_ForFailure()
{
var result = Failure<int>("error");
Assert.That(result.GetHashCode(), Is.Zero);
}
}