public async Task Runs_otherwise_conditions_for_UnlessAsync() { var validator = new TestValidator(); validator.UnlessAsync(async(x, ct) => x.Age > 10, () => { validator.RuleFor(x => x.Forename).NotNull(); }).Otherwise(() => { validator.RuleFor(x => x.Surname).NotNull(); }); var result1 = await validator.ValidateAsync(new Person { Age = 11 }); result1.Errors.Single().PropertyName.ShouldEqual("Surname"); var result2 = await validator.ValidateAsync(new Person { Age = 9 }); result2.Errors.Single().PropertyName.ShouldEqual("Forename"); }