feat: initial project commit
All checks were successful
default / default (8.0) (push) Successful in 1m7s
All checks were successful
default / default (8.0) (push) Successful in 1m7s
This commit is contained in:
commit
30ef7bd477
40 changed files with 3752 additions and 0 deletions
173
src/Result.Tests/ResultEqualityTests.cs
Normal file
173
src/Result.Tests/ResultEqualityTests.cs
Normal 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);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue