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,54 @@
namespace Geekeey.Extensions.Result.Tests;
[TestFixture]
internal sealed class ExtensionsEnumerableTests
{
[Test]
public void Join_ReturnsAllSuccess_ForSequenceContainingAllSuccess()
{
IEnumerable<Result<int>> xs = [1, 2, 3, 4, 5];
var result = xs.Join();
Assert.Multiple(() =>
{
Assert.That(result.IsSuccess, Is.True);
Assert.That(result.Value, Is.EquivalentTo(new[] { 1, 2, 3, 4, 5 }));
});
}
[Test]
public void Join_ReturnsFirstFailure_ForSequenceContainingFailure()
{
IEnumerable<Result<int>> xs =
[
Success(1),
Success(2),
Failure<int>("error 1"),
Success(4),
Failure<int>("error 2")
];
var result = xs.Join();
Assert.Multiple(() =>
{
Assert.That(result.IsSuccess, Is.False);
Assert.That(result.Error?.Message, Is.EqualTo("error 1"));
});
}
[Test]
public void Join_ReturnsSuccess_ForEmptySequence()
{
IEnumerable<Result<int>> xs = [];
var result = xs.Join();
Assert.Multiple(() =>
{
Assert.That(result.IsSuccess, Is.True);
Assert.That(result.Value, Is.Empty);
});
}
}