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-01-30 20:33:01 +0300
committerEric Maupin <ermaup@microsoft.com>2018-01-30 20:33:01 +0300
commitf9ef6be26aac1976cea1f4a7946e5a30ba8b0fce (patch)
tree29b3a390d717738a53a066dd00e71335891b59ae /Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
parent8763a45dfc107e01aeb8c0b62223543d109f09e7 (diff)
[Core] Flush out resources API
Diffstat (limited to 'Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs')
-rw-r--r--Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs74
1 files changed, 50 insertions, 24 deletions
diff --git a/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs b/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
index ca24552..bb240b0 100644
--- a/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
+++ b/Xamarin.PropertyEditing.Tests/PropertyViewModelTests.cs
@@ -222,7 +222,7 @@ namespace Xamarin.PropertyEditing.Tests
var resource = new Resource ("name");
var resourcesMock = new Mock<IResourceProvider> ();
- resourcesMock.Setup (rp => rp.GetResourcesAsync (mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
+ 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 });
vm.ResourceProvider = resourcesMock.Object;
@@ -240,12 +240,16 @@ namespace Xamarin.PropertyEditing.Tests
var resource = new Resource ("name");
var resourcesMock = new Mock<IResourceProvider> ();
- resourcesMock.Setup (rp => rp.GetResourcesAsync (mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
+ 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 changed = false;
+ vm.SetValueResourceCommand.CanExecuteChanged += (o,e) => changed = true;
vm.ResourceProvider = resourcesMock.Object;
+ Assume.That (changed, Is.True);
Assume.That (vm.SetValueResourceCommand, Is.Not.Null);
-
Assert.That (vm.SetValueResourceCommand.CanExecute (resource), Is.True, "Could not set value to resource");
}
@@ -258,7 +262,7 @@ namespace Xamarin.PropertyEditing.Tests
var resource = new Resource ("name");
var resourcesMock = new Mock<IResourceProvider> ();
- resourcesMock.Setup (rp => rp.GetResourcesAsync (mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
+ 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 });
vm.ResourceProvider = resourcesMock.Object;
@@ -268,6 +272,46 @@ namespace Xamarin.PropertyEditing.Tests
}
[Test]
+ public void CanRequestResource()
+ {
+ var mockProperty = GetPropertyMock ();
+ mockProperty.SetupGet (pi => pi.CanWrite).Returns (true);
+
+ var resourcesMock = new Mock<IResourceProvider>();
+
+ var vm = GetViewModel (mockProperty.Object, new[] { new Mock<IObjectEditor>().Object });
+ vm.ResourceProvider = resourcesMock.Object;
+
+ Assert.That (vm.RequestResourceCommand.CanExecute (null), Is.True);
+ }
+
+ [Test]
+ [Description ("RequestResourceCommand's CanExecuteChanged should fire when SetValueResourceCommand's does")]
+ public void CanRequestResourceSetValueChanges()
+ {
+ 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;
+ bool requestChanged = false;
+ vm.RequestResourceCommand.CanExecuteChanged += (o, e) => requestChanged = true;
+
+ vm.ResourceProvider = resourcesMock.Object;
+
+ Assume.That (setChanged, Is.True);
+ Assert.That (requestChanged, Is.True);
+ }
+
+ [Test]
public void SetValueToResource ()
{
var mockProperty = GetPropertyMock ();
@@ -277,7 +321,7 @@ namespace Xamarin.PropertyEditing.Tests
var value = GetNonDefaultRandomTestValue ();
var resourcesMock = new Mock<IResourceProvider> ();
- resourcesMock.Setup (rp => rp.GetResourcesAsync (mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
+ resourcesMock.Setup (rp => rp.GetResourcesAsync (new object(), mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
var editor = new MockObjectEditor (mockProperty.Object);
editor.ValueEvaluator = (info, o) => {
@@ -296,24 +340,6 @@ namespace Xamarin.PropertyEditing.Tests
}
[Test]
- public void ResourcesListed ()
- {
- var mockProperty = GetPropertyMock ();
-
- var resource = new Resource ("name");
-
- var resourcesMock = new Mock<IResourceProvider> ();
- resourcesMock.Setup (rp => rp.GetResourcesAsync (mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
-
- var vm = GetViewModel (mockProperty.Object, new[] { new Mock<IObjectEditor> ().Object });
- Assume.That (vm.ResourceProvider, Is.Null);
- Assume.That (vm.Resources, Is.Empty);
- vm.ResourceProvider = resourcesMock.Object;
-
- Assert.That (vm.Resources, Has.Member (resource));
- }
-
- [Test]
public async Task GetValueAlreadySetToResource ()
{
var value = GetNonDefaultRandomTestValue ();
@@ -323,7 +349,7 @@ namespace Xamarin.PropertyEditing.Tests
var resource = new Resource ("name");
var resourcesMock = new Mock<IResourceProvider> ();
- resourcesMock.Setup (rp => rp.GetResourcesAsync (mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
+ resourcesMock.Setup (rp => rp.GetResourcesAsync (new object(), mockProperty.Object, It.IsAny<CancellationToken> ())).ReturnsAsync (new[] { resource });
var editor = new MockObjectEditor (mockProperty.Object);
await editor.SetValueAsync (mockProperty.Object, new ValueInfo<TValue> {