public void GetValidators_ValidatorFactoryGetValidatorForOptionalContainerTypeShouldBeCalled()
        {
            IValidatorFactory validatorFactory  = Substitute.For <IValidatorFactory>();
            ControllerContext controllerContext = new ControllerContext {
                HttpContext = Substitute.For <HttpContextBase>()
            };
            LaboModelValidatorProvider provider = new LaboModelValidatorProvider(validatorFactory);
            ModelMetadata modelMetaData         = GetModelMetaDataForProperty(typeof(TestModel), LinqUtils.GetMemberName <TestModel, string>(x => x.Name));

            provider.GetValidators(modelMetaData, controllerContext);

            validatorFactory.Received(1).GetValidatorForOptional(modelMetaData.ContainerType);
        }
        public void GetValidators_ValidatorFactoryGetValidatorForOptionalShouldBeCalled()
        {
            IValidatorFactory validatorFactory  = Substitute.For <IValidatorFactory>();
            ControllerContext controllerContext = new ControllerContext {
                HttpContext = Substitute.For <HttpContextBase>()
            };
            LaboModelValidatorProvider provider          = new LaboModelValidatorProvider(validatorFactory);
            ModelMetadata modelMetaData                  = GetModelMetaData(typeof(TestModel));
            IEnumerable <ModelValidator> modelValidators = provider.GetValidators(modelMetaData, controllerContext);

            Assert.IsTrue(modelValidators.First() is LaboModelValidator);

            validatorFactory.Received(1).GetValidatorForOptional(modelMetaData.ModelType);
        }