Beispiel #1
0
        public void DataErrorInfoShouldGetErrorsFromValidators()
        {
            ValidatableViewModel viewModel     = GetValidatableViewModel();
            IDataErrorInfo       dataErrorInfo = viewModel;

            var            validator          = viewModel.AddValidator <SpyValidator>(viewModel);
            IDataErrorInfo validatorErrorInfo = validator;

            validator.SetErrors(PropToValidate1, PropToValidate1);
            viewModel.OnPropertyChanged(PropToValidate1, ExecutionType.None);
            string error = dataErrorInfo[PropToValidate1];

            validator.ValidateCount.ShouldEqual(1);
            validator.ValidateProperties.Contains(PropToValidate1).ShouldBeTrue();
            error.ShouldEqual(PropToValidate1);

            validator.SetErrors(PropToValidate1);
            viewModel.OnPropertyChanged(PropToValidate1, ExecutionType.None);
            error = validatorErrorInfo[PropToValidate1];
            validator.ValidateCount.ShouldEqual(2);
            error.ShouldBeNull();
        }