45 lines
1009 B
C#
45 lines
1009 B
C#
using Omika.Core.Abstractions;
|
|
|
|
namespace Omika.Tests;
|
|
|
|
public class ResultTests
|
|
{
|
|
[Fact]
|
|
public void Success_ReturnsIsSuccess()
|
|
{
|
|
var result = Result.Success();
|
|
|
|
Assert.True(result.IsSuccess);
|
|
Assert.False(result.IsFailure);
|
|
Assert.Empty(result.Errors);
|
|
}
|
|
|
|
[Fact]
|
|
public void Failure_ReturnsErrors()
|
|
{
|
|
var result = Result.Failure("Erreur 1", "Erreur 2");
|
|
|
|
Assert.True(result.IsFailure);
|
|
Assert.Equal(2, result.Errors.Count);
|
|
Assert.Equal("Erreur 1", result.Errors[0]);
|
|
}
|
|
|
|
[Fact]
|
|
public void GenericSuccess_ExposesValue()
|
|
{
|
|
var result = Result.Success(42);
|
|
|
|
Assert.True(result.IsSuccess);
|
|
Assert.Equal(42, result.Value);
|
|
}
|
|
|
|
[Fact]
|
|
public void GenericFailure_ThrowsWhenAccessingValue()
|
|
{
|
|
var result = Result<int>.Failure("Échec");
|
|
|
|
Assert.True(result.IsFailure);
|
|
Assert.Throws<InvalidOperationException>(() => _ = result.Value);
|
|
}
|
|
}
|