public static CommandAndValidator CreateValidator( CommandAndValidatorType self, Func<Type, IValidator> createValidator) { var validator = self.ValidatorType == null ? null : createValidator(self.ValidatorType); return new CommandAndValidator(self.Command, validator); }
public void TestCommandNullIn() { var command = new CommandA(); var self = new CommandAndValidatorType(command, null); var spy = Substitute.For<Func<Type, IValidator>>(); var result = CommandValidationSteps.CreateValidator(self, spy); result.Command.ShouldBe(command); result.Validator.ShouldBe(null); spy.DidNotReceive().Invoke(Arg.Any<Type>()); }
public void TestCommandNullOut() { var command = new CommandA(); var self = new CommandAndValidatorType(command, typeof(TestValidator<CommandA>)); var result = CommandValidationSteps.CreateValidator( self, t => { t.ShouldBe(typeof(TestValidator<CommandA>)); return null; }); result.Command.ShouldBe(command); result.Validator.ShouldBe(null); }