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);
		}
Esempio n. 2
0
        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 });
        }