internal void ValidatePropertyChange(TProperty newValue, NotifyDataErrorInfoBehavior behavior) { this.viewModel.ErrorsChanged += HandleViewModelErrorsChanged; SetPropertyValueOnViewModel(newValue); var messageError = string.Format("When setting value to {0} ", newValue); Assert.AreEqual(IsSet(NotifyDataErrorInfoBehavior.FiresErrorsChanged, behavior), this.errorsChangedNotified, messageError + "fired ErrorsChanged event"); Assert.AreEqual(IsSet(NotifyDataErrorInfoBehavior.HasErrors, behavior), this.viewModel.HasErrors, messageError + "HasErrors"); Assert.AreEqual( IsSet(NotifyDataErrorInfoBehavior.HasErrorsForProperty, behavior), (this.viewModel.GetErrors(this.propertyName) ?? new object[0]).GetEnumerator().MoveNext(), messageError + "HasErrorsForProperty"); this.viewModel.ErrorsChanged -= HandleViewModelErrorsChanged; this.errorsChangedNotified = false; }
private static bool IsSet(NotifyDataErrorInfoBehavior behavior, NotifyDataErrorInfoBehavior behaviors) { return((behaviors & behavior) == behavior); }