< Summary

Information
Class: Dom.Mediator.Result
Assembly: Dom.Mediator
File(s): /home/runner/work/dom.mediator/dom.mediator/Dom.Mediator/Models/Result.cs
Line coverage
90%
Covered lines: 10
Uncovered lines: 1
Coverable lines: 11
Total lines: 68
Line coverage: 90.9%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_IsSuccess()100%11100%
get_Error()100%11100%
get_IsFailure()100%11100%
.ctor(...)100%11100%
Success()100%11100%
Failure(...)100%11100%
Failure(...)100%210%

File(s)

/home/runner/work/dom.mediator/dom.mediator/Dom.Mediator/Models/Result.cs

#LineLine coverage
 1namespace Dom.Mediator;
 2
 3public class Result<T>
 4{
 5    public bool IsSuccess { get; }
 6    public Error? Error { get; }
 7
 8    public T? Value { get; }
 9
 10    public bool IsFailure => !IsSuccess;
 11
 12    private Result(bool isSuccess, T? value, Error? error)
 13    {
 14        IsSuccess = isSuccess;
 15        Value = value;
 16        Error = error;
 17    }
 18
 19    public static Result<T> Success(T value) => new(true, value, null);
 20
 21    public static Result<T> Failure(
 22        string errorCode,
 23        string description,
 24        string type)
 25    {
 26        Error error = new Error(errorCode, description, type);
 27
 28        return new Result<T>(false, default, error);
 29    }
 30
 31    public static Result<T> Failure(
 32        Error error)
 33    {
 34        return new Result<T>(false, default, error);
 35    }
 36}
 37
 38/// <summary>
 39/// Represents a result without a value payload, used for operations that don't return data
 40/// </summary>
 41public class Result
 42{
 1243    public bool IsSuccess { get; }
 1444    public Error? Error { get; }
 645    public bool IsFailure => !IsSuccess;
 46
 847    private Result(bool isSuccess, Error? error)
 48    {
 849        IsSuccess = isSuccess;
 850        Error = error;
 851    }
 52
 453    public static Result Success() => new(true, null);
 54
 55    public static Result Failure(
 56        string errorCode,
 57        string description,
 58        string type)
 59    {
 460        Error error = new(errorCode, description, type);
 461        return new Result(false, error);
 62    }
 63
 64    public static Result Failure(Error error)
 65    {
 066        return new Result(false, error);
 67    }
 68}