< Summary

Information
Class: Dom.Mediator.Result<T>
Assembly: Dom.Mediator
File(s): /home/runner/work/dom.mediator/dom.mediator/Dom.Mediator/Models/Result.cs
Line coverage
92%
Covered lines: 12
Uncovered lines: 1
Coverable lines: 13
Total lines: 68
Line coverage: 92.3%
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_Value()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{
 145    public bool IsSuccess { get; }
 166    public Error? Error { get; }
 7
 88    public T? Value { get; }
 9
 610    public bool IsFailure => !IsSuccess;
 11
 1012    private Result(bool isSuccess, T? value, Error? error)
 13    {
 1014        IsSuccess = isSuccess;
 1015        Value = value;
 1016        Error = error;
 1017    }
 18
 619    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    {
 426        Error error = new Error(errorCode, description, type);
 27
 428        return new Result<T>(false, default, error);
 29    }
 30
 31    public static Result<T> Failure(
 32        Error error)
 33    {
 034        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{
 43    public bool IsSuccess { get; }
 44    public Error? Error { get; }
 45    public bool IsFailure => !IsSuccess;
 46
 47    private Result(bool isSuccess, Error? error)
 48    {
 49        IsSuccess = isSuccess;
 50        Error = error;
 51    }
 52
 53    public static Result Success() => new(true, null);
 54
 55    public static Result Failure(
 56        string errorCode,
 57        string description,
 58        string type)
 59    {
 60        Error error = new(errorCode, description, type);
 61        return new Result(false, error);
 62    }
 63
 64    public static Result Failure(Error error)
 65    {
 66        return new Result(false, error);
 67    }
 68}