< Summary

Class:SharpHoundRPC.Result<T>
Assembly:SharpHoundRPC
File(s):D:\a\SharpHoundCommon\SharpHoundCommon\src\SharpHoundRPC\Result.cs
Covered lines:9
Uncovered lines:20
Coverable lines:29
Total lines:54
Line coverage:31% (9 of 29)
Covered branches:0
Total branches:2
Branch coverage:0% (0 of 2)

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
Ok(...)100%10100%
Fail(...)100%100%
Fail(...)100%100%
op_Implicit(...)100%10100%
op_Implicit(...)100%100%
op_Implicit(...)100%100%

File(s)

D:\a\SharpHoundCommon\SharpHoundCommon\src\SharpHoundRPC\Result.cs

#LineLine coverage
 1namespace SharpHoundRPC
 2{
 3    public class Result<T>
 4    {
 625        public bool IsSuccess { get; private set; }
 06        public NtStatus Status { get; private set; }
 647        public T Value { get; private set; }
 08        public string Error { get; private set; }
 319        public bool IsFailed => !IsSuccess;
 10
 11        public static Result<T> Ok(T value)
 3112        {
 3113            return new() {IsSuccess = true, Value = value};
 3114        }
 15
 16        public static Result<T> Fail(NtStatus status)
 017        {
 018            return new() {Status = status};
 019        }
 20
 21        public static Result<T> Fail(string error)
 022        {
 023            return new() {Error = error};
 024        }
 25
 26        public string SError
 27        {
 28            get
 029            {
 030                if (!string.IsNullOrEmpty(Error))
 031                {
 032                    return Error;
 33                }
 34
 035                return Status.ToString();
 036            }
 37        }
 38
 39        public static implicit operator Result<T>(T input)
 2940        {
 2941            return Ok(input);
 2942        }
 43
 44        public static implicit operator Result<T>(NtStatus status)
 045        {
 046            return Fail(status);
 047        }
 48
 49        public static implicit operator Result<T>(string error)
 050        {
 051            return Fail(error);
 052        }
 53    }
 54}