< Summary

Information
Class: NostrSure.Domain.Validation.ValidationResult
Assembly: NostrSure.Domain
File(s): /home/runner/work/NostrSure/NostrSure/NostrSure.Domain/Validation/ValidationResult.cs
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 37
Line coverage: 100%
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_IsValid()100%11100%
get_Error()100%11100%
get_Severity()100%11100%
Success()100%11100%
Failure(...)100%11100%
Failure(...)100%11100%
Failure(...)100%11100%

File(s)

/home/runner/work/NostrSure/NostrSure/NostrSure.Domain/Validation/ValidationResult.cs

#LineLine coverage
 1namespace NostrSure.Domain.Validation;
 2
 3/// <summary>
 4/// Represents the result of a validation operation with rich error information
 5/// </summary>
 6public readonly record struct ValidationResult
 7{
 10778    public bool IsValid { get; init; }
 549    public ValidationError? Error { get; init; }
 2310    public ValidationSeverity Severity { get; init; }
 11
 52212    public static ValidationResult Success() => new() { IsValid = true };
 13
 14    public static ValidationResult Failure(string message, ValidationSeverity severity = ValidationSeverity.Error)
 215        => new() { IsValid = false, Error = new ValidationError(message), Severity = severity };
 16
 17    public static ValidationResult Failure(string message, string? code, ValidationSeverity severity = ValidationSeverit
 1018        => new() { IsValid = false, Error = new ValidationError(message, code), Severity = severity };
 19
 20    public static ValidationResult Failure(string message, Exception exception, ValidationSeverity severity = Validation
 321        => new() { IsValid = false, Error = new ValidationError(message, InnerException: exception), Severity = severity
 22}
 23
 24/// <summary>
 25/// Represents detailed information about a validation error
 26/// </summary>
 27public record ValidationError(string Message, string? Code = null, Exception? InnerException = null);
 28
 29/// <summary>
 30/// Indicates the severity level of a validation error
 31/// </summary>
 32public enum ValidationSeverity
 33{
 34    Warning,
 35    Error,
 36    Critical
 37}