Esempio n. 1
0
        public void ValidateInstanceShouldValidateOnlyInstance()
        {
            ValidatableViewModel viewModel = GetValidatableViewModel();

            ValidatorProvider.Register <SpyValidator>();
            var instance  = new object();
            var instance2 = new object();

            viewModel.AddInstance(instance);
            viewModel.AddInstance(instance2);
            viewModel.AddValidator <SpyValidator>(instance);
            viewModel.GetValidators().Count.ShouldEqual(4);
            viewModel.GetValidators().OfType <SpyValidator>().ForEach(validator => validator.ValidateAllCount = 0);
            viewModel.ValidateInstanceAsync(instance);

            foreach (SpyValidator result in viewModel.GetValidators().OfType <SpyValidator>())
            {
                if (result.Context.Instance == instance)
                {
                    result.ValidateAllCount.ShouldEqual(1);
                }
                else
                {
                    result.ValidateAllCount.ShouldEqual(0);
                }
            }
        }
Esempio n. 2
0
        public void RemoveValidatorGenericShouldBeRemoveFromValidators()
        {
            var o = new object();
            ValidatableViewModel viewModel = GetValidatableViewModel();
            var validator = viewModel.AddValidator <SpyValidator>(o);

            viewModel.GetValidators().Single(validator1 => validator1 != viewModel.Validator).ShouldEqual(validator);
            viewModel.RemoveValidator(validator).ShouldBeTrue();
            viewModel.GetValidators().Where(validator1 => validator1 != viewModel.Validator).ShouldBeEmpty();
        }
Esempio n. 3
0
        public void ValidateAllShouldRedirectCallToValidators()
        {
            const int            count     = 10;
            ValidatableViewModel viewModel = GetValidatableViewModel();

            ValidatorProvider.Register <SpyValidator>();

            for (int i = 0; i < count; i++)
            {
                viewModel.AddInstance(new object());
            }
            viewModel.GetValidators().Count.ShouldEqual(count + 1);
            viewModel.GetValidators().OfType <SpyValidator>().All(validator => validator.ValidateAllCount == 1).ShouldBeTrue();
        }
Esempio n. 4
0
        public void RemoveInstanceShouldRemoveAllValidatorsAssociatedWithInstance()
        {
            ValidatableViewModel viewModel = GetValidatableViewModel();

            ValidatorProvider.Register <SpyValidator>();
            var instance  = new object();
            var instance2 = new object();

            viewModel.AddInstance(instance);
            viewModel.AddInstance(instance2);
            viewModel.AddValidator <ManualValidator>(instance);
            viewModel.GetValidators().Count.ShouldEqual(4);

            viewModel.RemoveInstance(instance);
            viewModel.GetValidators().Single(validator => validator != viewModel.Validator).Context.Instance.ShouldEqual(instance2);
        }
Esempio n. 5
0
        public void VmShouldValidateSelfByDefault()
        {
            ValidatorProvider.Register <SpyValidator>();
            ValidatableViewModel validatableViewModel = GetValidatableViewModel();
            var validator = (SpyValidator)validatableViewModel.GetValidators().Single(validator1 => validator1 != validatableViewModel.Validator);

            validator.Context.Instance.ShouldEqual(validatableViewModel);
        }
Esempio n. 6
0
        public void AddInstanceShouldGetValidatorsFromProviderEmpty()
        {
            ValidatableViewModel viewModel = GetValidatableViewModel();
            var instance = new object();

            viewModel.AddInstance(instance);
            viewModel.GetValidators().Where(validator => validator != viewModel.Validator).ShouldBeEmpty();
        }
Esempio n. 7
0
        public void AddedValidatorGenericShouldBeInValidators()
        {
            var o = new object();
            ValidatableViewModel viewModel = GetValidatableViewModel();
            var validator = viewModel.AddValidator <SpyValidator>(o);

            validator.Context.ShouldNotBeNull();
            validator.Context.Instance.ShouldEqual(o);
            viewModel.GetValidators().Single(validator1 => validator1 != viewModel.Validator).ShouldEqual(validator);
        }
Esempio n. 8
0
        public void AddedValidatorShouldBeInValidators()
        {
            var o = new object();
            ValidatableViewModel viewModel = GetValidatableViewModel();
            var validator = new SpyValidator();

            validator.Initialize(viewModel.CreateContext(o));
            viewModel.AddValidator(validator);
            validator.Context.ShouldNotBeNull();
            validator.Context.Instance.ShouldEqual(o);
            viewModel.GetValidators().Single(validator1 => validator1 != viewModel.Validator).ShouldEqual(validator);
        }
Esempio n. 9
0
        public void AddInstanceShouldGetValidatorsFromProviderNotEmpty()
        {
            ValidatableViewModel viewModel = GetValidatableViewModel();

            ValidatorProvider.Register <SpyValidator>();
            var instance = new object();

            viewModel.AddInstance(instance);
            viewModel.GetValidators().Single(validator => validator != viewModel.Validator)
            .Context
            .Instance
            .ShouldEqual(instance);
        }