private void HandlePropertyErrorsChanged(object sender, PropertyErrorsChangedEventArgs e)
 {
     if (e.Type == PropertyErrorsChangeType.Add)
     {
         HookErrorsChanged(e.PropertyErrors);
     }
     else if (e.Type == PropertyErrorsChangeType.Remove)
     {
         UnHookErrorsChanged(e.PropertyErrors);
     }
 }
Пример #2
0
        public void Task_02_Add_And_Remove_Validation()
        {
            var vm        = CreateViewModel();
            var container = CreateContainer(vm);

            PropertyErrorsChangedEventArgs errorArgs = null;

            container.PropertyErrorsChanged += (s, e) => errorArgs = e;

            container.SetupValidation(v => v.Name, ValidateName);

            Assert.That(errorArgs != null);
            Assert.That(errorArgs.Type == PropertyErrorsChangeType.Add);
            Assert.That(container.GetPropertyErrors("Name") == errorArgs.PropertyErrors);

            errorArgs = null;
            container.ClearValidations();

            Assert.That(errorArgs != null);
            Assert.That(errorArgs.Type == PropertyErrorsChangeType.Remove);
            Assert.That(container.GetPropertyErrors("Name") == null);
        }