public void CheckOnChangedAction() { var changed = new List<string>(); var changing = new List<string>(); var notifyViewModel = new NotifyViewModel(changed, changing); const string PropertyName = "Property"; var dependent = new Dictionary<string, string[]>(); Action<string, string[]> addToDependent = dependent.Add; var property = new ViewModelProperty<int>(notifyViewModel, addToDependent, PropertyName); var viewModelProperty = (IViewModelProperty<int>)property; var values = new List<int>(); viewModelProperty.OnChanged(values.Add); const int Value = 10; property.SetValue(Value, false).Should().Be.True(); property.Changed(() => Value); changing.Should().Have.SameSequenceAs(PropertyName); changed.Should().Have.SameSequenceAs(PropertyName); values.Should().Have.SameSequenceAs(Value); }
public void CheckOnChangedAction() { var changed = new List <string>(); var changing = new List <string>(); var notifyViewModel = new NotifyViewModel(changed, changing); const string PropertyName = "Property"; var dependent = new Dictionary <string, string[]>(); Action <string, string[]> addToDependent = dependent.Add; var property = new ViewModelProperty <int>(notifyViewModel, addToDependent, PropertyName); var viewModelProperty = (IViewModelProperty <int>)property; var values = new List <int>(); viewModelProperty.OnChanged(values.Add); const int Value = 10; property.SetValue(Value, false).Should().BeTrue(); property.Changed(() => Value); changing.Should().BeEquivalentTo(PropertyName); changed.Should().BeSameAs(new[] { PropertyName }); values.Should().BeSameAs(new[] { Value }); }