Пример #1
0
 /// <summary>
 /// Performs the validation logic asynchronously and returns a task of <see cref="RuleResult"/>.
 /// </summary>
 /// <param name="validated">The object being validated</param>
 /// <param name="context">Contextual information about the validation</param>
 /// <param name="token">An object which may be used to cancel the process</param>
 /// <returns>A task which provides a result object, indicating the result of validation</returns>
 public Task <RuleResult> GetResultAsync(ICollection <T> validated, RuleContext context, CancellationToken token = default)
 {
     if (validated is null)
     {
         return(PassAsync());
     }
     inRangeRule.Min = Min;
     inRangeRule.Max = Max;
     return(inRangeRule.GetResultAsync(validated.Count, context, token));
 }
Пример #2
0
 public void GetResultAsyncShouldReturnFailIfNumberIsHigherThanMax(IntegerInRange sut, [RuleContext] RuleContext context)
 {
     sut.Min = 5;
     sut.Max = 10;
     Assert.That(() => sut.GetResultAsync(20, context), Is.FailingValidationResult);
 }
Пример #3
0
 public void GetResultAsyncShouldReturnPassIfValueIsNull(IntegerInRange sut, [RuleContext] RuleContext context)
 {
     Assert.That(() => sut.GetResultAsync(null, context), Is.PassingValidationResult);
 }
Пример #4
0
 public void GetResultAsyncShouldReturnPassIfNumberIsInRange(IntegerInRange sut, [RuleContext] RuleContext context)
 {
     sut.Min = 5;
     sut.Max = 10;
     Assert.That(() => sut.GetResultAsync(6, context), Is.PassingValidationResult);
 }