public void Runs_otherwise_conditons_for_Unless() { var validator = new TestValidator(); validator.Unless(x => x.Age > 10, () => { validator.RuleFor(x => x.Forename).NotNull(); }).Otherwise(() => { validator.RuleFor(x => x.Surname).NotNull(); }); var result1 = validator.Validate(new Person { Age = 11 }); result1.Errors.Single().PropertyName.ShouldEqual("Surname"); var result2 = validator.Validate(new Person { Age = 9 }); result2.Errors.Single().PropertyName.ShouldEqual("Forename"); }