diff options
author | Larry Ewing <lewing@gmail.com> | 2018-02-16 00:52:52 +0300 |
---|---|---|
committer | Larry Ewing <lewing@gmail.com> | 2018-02-16 04:26:52 +0300 |
commit | 31c3b8623307eb9525310bd0a205f2ba33def8e1 (patch) | |
tree | fc86e9266e16a137d4e51a1c253519cf3a7899b1 /Xamarin.PropertyEditing.Tests/BrushPropertyViewModelTests.cs | |
parent | 1195c9d7b0e927009f5b1eab69be720952bbbc84 (diff) |
Update the resource selector when editors change
Diffstat (limited to 'Xamarin.PropertyEditing.Tests/BrushPropertyViewModelTests.cs')
-rw-r--r-- | Xamarin.PropertyEditing.Tests/BrushPropertyViewModelTests.cs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Xamarin.PropertyEditing.Tests/BrushPropertyViewModelTests.cs b/Xamarin.PropertyEditing.Tests/BrushPropertyViewModelTests.cs index 6a53102..952266b 100644 --- a/Xamarin.PropertyEditing.Tests/BrushPropertyViewModelTests.cs +++ b/Xamarin.PropertyEditing.Tests/BrushPropertyViewModelTests.cs @@ -30,5 +30,48 @@ namespace Xamarin.PropertyEditing.Tests vm.Value = GetRandomTestValue(); Assert.IsTrue (changed); } + + [Test] + public void ChangingEditorsUpdatesResources () + { + var mockProperty = new Mock<IPropertyInfo> (); + mockProperty.SetupGet (pi => pi.Type).Returns (typeof (CommonBrush)); + var mockEditor = new MockObjectEditor (mockProperty.Object); + var vm = new BrushPropertyViewModel (TargetPlatform.Default, mockProperty.Object, new [] { mockEditor }); + vm.ResourceProvider = new MockResourceProvider (); + var changed = false; + vm.PropertyChanged += (s, e) => { + if (e.PropertyName == nameof (BrushPropertyViewModel.ResourceSelector)) { + changed = true; + } + }; + var rs1 = vm.ResourceSelector; + vm.Editors.Add (new MockObjectEditor ()); + var rs2 = vm.ResourceSelector; + Assert.IsTrue (changed); + Assert.AreNotEqual (rs1, rs2); + } + + [Test] + public void ChangingResourceProviderUpdatesResources () + { + var mockProperty = new Mock<IPropertyInfo> (); + mockProperty.SetupGet (pi => pi.Type).Returns (typeof (CommonBrush)); + var mockEditor = new MockObjectEditor (mockProperty.Object); + var vm = new BrushPropertyViewModel (TargetPlatform.Default, mockProperty.Object, new [] { mockEditor }); + + var changed = false; + vm.PropertyChanged += (s, e) => { + if (e.PropertyName == nameof (BrushPropertyViewModel.ResourceSelector)) { + changed = true; + } + }; + var rs1 = vm.ResourceSelector; + vm.ResourceProvider = new MockResourceProvider (); + var rs2 = vm.ResourceSelector; + Assert.IsTrue (changed); + Assert.IsNull (rs1); + Assert.AreNotEqual (rs1, rs2); + } } } |