public static QueryAndValidator CreateValidator( QueryAndValidatorType self, Func<Type, IValidator> createValidator) { var validator = self.ValidatorType == null ? null : createValidator(self.ValidatorType); return new QueryAndValidator(self.Query, validator); }
public void TestQuery() { var query = new QueryA(); var testValidator = new TestValidator<QueryA>(); var self = new QueryAndValidatorType(query, typeof(TestValidator<QueryA>)); var result = QueryValidationSteps.CreateValidator( self, t => { t.ShouldBe(typeof(TestValidator<QueryA>)); return testValidator; }); result.Query.ShouldBe(query); result.Validator.ShouldBe(testValidator); }
public void TestQueryNullIn() { var query = new QueryA(); var self = new QueryAndValidatorType(query, null); var spy = Substitute.For<Func<Type, IValidator>>(); var result = QueryValidationSteps.CreateValidator(self, spy); result.Query.ShouldBe(query); result.Validator.ShouldBe(null); spy.DidNotReceive().Invoke(Arg.Any<Type>()); }