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.Failure("Échec"); Assert.True(result.IsFailure); Assert.Throws(() => _ = result.Value); } }