Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/Xamarin.PropertyEditing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Maupin <ermaup@microsoft.com>2018-02-02 22:28:26 +0300
committerEric Maupin <ermaup@microsoft.com>2018-02-02 22:29:33 +0300
commit11659c9df419ef49e71803f3b8ed9f930195f8ed (patch)
treedabb26f769ee387f14834e9ff6d9ce235b69030a /Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
parentf018da729c73b138fd78178b6319e95899eba378 (diff)
[Core] Fix resource commands
Diffstat (limited to 'Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs')
-rw-r--r--Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs b/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
index a7c4b7d..0745596 100644
--- a/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
+++ b/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
@@ -268,6 +268,46 @@ namespace Xamarin.PropertyEditing.Tests
}
[Test]
+ public void CanSetValueResourceUpdatesOnProviderSet()
+ {
+ var mockProperty = GetPropertyMock ();
+ mockProperty.SetupGet (pi => pi.CanWrite).Returns (true);
+
+ var resource = new Resource ("name");
+
+ var resourcesMock = new Mock<IResourceProvider> ();
+ resourcesMock.Setup (rp => rp.GetResourcesAsync (new object(), mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
+
+ var vm = GetViewModel (mockProperty.Object, new[] { new Mock<IObjectEditor> ().Object });
+ Assume.That (vm.SetValueResourceCommand.CanExecute (resource), Is.False);
+
+ bool setChanged = false;
+ vm.SetValueResourceCommand.CanExecuteChanged += (o,e) => setChanged = true;
+
+ Assume.That (vm.SetValueResourceCommand.CanExecute (resource), Is.False);
+
+ vm.ResourceProvider = resourcesMock.Object;
+
+ Assert.That (setChanged, Is.True);
+ Assert.That (vm.SetValueResourceCommand.CanExecute (resource), Is.True);
+ }
+
+ [Test]
+ public void CanRequestResourceNoProvider()
+ {
+ var mockProperty = GetPropertyMock ();
+ mockProperty.SetupGet (pi => pi.CanWrite).Returns (true);
+
+ var resource = new Resource ("name");
+
+ var resourcesMock = new Mock<IResourceProvider> ();
+ resourcesMock.Setup (rp => rp.GetResourcesAsync (new object(), mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
+
+ var vm = GetViewModel (mockProperty.Object, new[] { new Mock<IObjectEditor> ().Object });
+ Assert.That (vm.RequestResourceCommand.CanExecute (null), Is.False);
+ }
+
+ [Test]
[Description ("RequestResourceCommand's CanExecuteChanged should fire when SetValueResourceCommand's does")]
public void CanRequestResourceSetValueChanges()
{
@@ -281,6 +321,7 @@ namespace Xamarin.PropertyEditing.Tests
var vm = GetViewModel (mockProperty.Object, new[] { new Mock<IObjectEditor> ().Object });
Assume.That (vm.SetValueResourceCommand.CanExecute (resource), Is.False);
+ Assume.That (vm.RequestResourceCommand.CanExecute (null), Is.False);
bool setChanged = false;
vm.SetValueResourceCommand.CanExecuteChanged += (o,e) => setChanged = true;