diff options
author | Eric Maupin <ermaup@microsoft.com> | 2018-03-19 18:36:28 +0300 |
---|---|---|
committer | Eric Maupin <ermaup@microsoft.com> | 2018-03-19 19:13:34 +0300 |
commit | eea741d175940f0368f180979785b7381ba4bd2a (patch) | |
tree | eac2df15916622ed746bbfea61da9563870e8e65 /Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs | |
parent | c703b10f2ab0850b8243244239ff5add6b39f488 (diff) |
[Core] Ignore raw value changes from direct input
And mark .Value as for direct input only. Any other method of changing
the value needs its own path. Fixes #255
Diffstat (limited to 'Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs')
-rw-r--r-- | Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs b/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs index 6b8cda3..29c0a18 100644 --- a/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs +++ b/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs @@ -454,6 +454,32 @@ namespace Xamarin.PropertyEditing.Tests } [Test] + public async Task ValueNotChangedForSameValueDifferentSource () + { + var value = GetNonDefaultRandomTestValue (); + + var mockProperty = GetPropertyMock (); + + var editor = new MockObjectEditor (mockProperty.Object); + await editor.SetValueAsync (mockProperty.Object, new ValueInfo<TValue> { + Source = ValueSource.Resource, + Value = value + }); + + var vm = GetViewModel (mockProperty.Object, new[] { editor }); + Assume.That (vm.Value, Is.EqualTo (value)); + + bool changed = false; + vm.PropertyChanged += (sender, args) => { + changed = true; + }; + + vm.Value = value; + + Assert.That (changed, Is.False, "PropertyChanged raised when value set to same value"); + } + + [Test] public void ValueChanged () { var value = GetNonDefaultRandomTestValue (); |