Ejemplo n.º 1
0
        public static bool HasMetadataKey(this IReason reason, string key)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException(nameof(key));
            }

            return(reason.Metadata.ContainsKey(key));
        }
Ejemplo n.º 2
0
        public static bool HasMetadata(this IReason reason, string key, Func <object, bool> predicate)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException(nameof(key));
            }

            if (predicate == null)
            {
                throw new ArgumentNullException(nameof(predicate));
            }

            if (reason.Metadata.TryGetValue(key, out object actualValue))
            {
                return(predicate(actualValue));
            }

            return(false);
        }
Ejemplo n.º 3
0
        public AndWhichConstraint <ResultAssertions, Result> HaveReason(IReason reason, string because = "", params object[] becauseArgs)
        {
            Subject.Reasons.Should().ContainEquivalentOf(reason, because, becauseArgs);

            return(new AndWhichConstraint <ResultAssertions, Result>(this, Subject));
        }
Ejemplo n.º 4
0
 private static IResult WithSingleCause(this IResult result, IReason cause)
 => HandleGenericVariant(result, nameof(WithSingleCause), cause) switch
 {
Ejemplo n.º 5
0
 internal ResultException(string message, IReason reason)
     : this($"{message}{Environment.NewLine}{reason}")
 {
     Reason = reason;
 }
 public DomainException(IReason reason)
 {
     Reason = reason;
 }
Ejemplo n.º 7
0
 private static IResult <TValue> WithSingleCause <TValue>(this IResult <TValue> result, IReason cause)
 => (result, cause) switch
 {
     { result : Failed <TValue> } or {
         cause : Error
     } => new Failed <TValue>(result.Message, result.Causes.Append(cause)),