Ejemplo 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);
                }
            }
        }