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:
Diffstat (limited to 'Xamarin.PropertyEditing.Tests/CreateBindingViewModelTests.cs')
-rw-r--r--Xamarin.PropertyEditing.Tests/CreateBindingViewModelTests.cs51
1 files changed, 48 insertions, 3 deletions
diff --git a/Xamarin.PropertyEditing.Tests/CreateBindingViewModelTests.cs b/Xamarin.PropertyEditing.Tests/CreateBindingViewModelTests.cs
index 0c3b16b..9c0fdde 100644
--- a/Xamarin.PropertyEditing.Tests/CreateBindingViewModelTests.cs
+++ b/Xamarin.PropertyEditing.Tests/CreateBindingViewModelTests.cs
@@ -192,7 +192,12 @@ namespace Xamarin.PropertyEditing.Tests
await vm.ValueConverters.Task;
Assert.That (vm.ValueConverters.Value, Contains.Item (visi));
- Assert.That (vm.ValueConverters.Value.Count, Is.EqualTo (3)); // visi, No Converter, Request Converter
+
+ if (vm.IncludeAddValueConverter) {
+ Assert.That (vm.ValueConverters.Value.Count, Is.EqualTo (3)); // visi, No Converter, Request Converter
+ } else {
+ Assert.That (vm.ValueConverters.Value.Count, Is.EqualTo (2)); // visi, No Converter
+ }
}
[Test]
@@ -614,6 +619,46 @@ namespace Xamarin.PropertyEditing.Tests
vm.BindingProperties.Cast<PropertyViewModel> ().Select (pvm => pvm.Property));
}
+ [TestCase (true)]
+ [TestCase (false)]
+ public async Task IsAddValueConverterIncluded (bool includeAddValueConverter)
+ {
+ var vm = CreateBasicViewModel (includeAddValueConverter: includeAddValueConverter);
+ Assume.That (vm.ValueConverters, Is.Not.Null);
+
+ await vm.ValueConverters.Task;
+
+ if (includeAddValueConverter) {
+ Assert.That (vm.ValueConverters.Value.Count, Is.EqualTo (2)); // No Converter, Request Converter
+ } else {
+ Assert.That (vm.ValueConverters.Value.Count, Is.EqualTo (1)); // No Converter
+ }
+ }
+
+ [Test]
+ public void RequestAddValueConverterCommand ()
+ {
+ BindingSource[] sources = new[] {
+ new BindingSource ("Resource", BindingSourceType.Resource),
+ new BindingSource ("Type", BindingSourceType.Type),
+ };
+
+ var vm = CreateBasicViewModel (sources);
+
+ Assert.That (vm.SelectedBindingSource, Is.EqualTo (sources[0]));
+
+ Assert.That (vm.RequestAddValueConverterCommand.CanExecute (null), Is.True);
+
+ bool changed = false;
+ vm.RequestAddValueConverterCommand.CanExecuteChanged += (o, e) => {
+ changed = true;
+ };
+
+ vm.SelectedBindingSource = sources[1];
+
+ Assert.That (changed, Is.True);
+ }
+
private TestContext syncContext;
private static readonly ResourceSource[] DefaultResourceSources = new[] { MockResourceProvider.SystemResourcesSource, MockResourceProvider.ApplicationResourcesSource };
@@ -677,7 +722,7 @@ namespace Xamarin.PropertyEditing.Tests
return bpmock;
}
- private CreateBindingViewModel CreateBasicViewModel (BindingSource[] sources = null, object target = null)
+ private CreateBindingViewModel CreateBasicViewModel (BindingSource[] sources = null, object target = null, bool includeAddValueConverter = true)
{
target = target ?? new object ();
Mock<IPropertyInfo> property = GetBasicProperty ();
@@ -687,7 +732,7 @@ namespace Xamarin.PropertyEditing.Tests
Mock<IResourceProvider> resourceProvider = GetBasicResourceProvider (target);
Mock<IBindingProvider> bpmock = GetBasicBindingProvider (target, property.Object, sources);
- return new CreateBindingViewModel (new TargetPlatform (editorProvider, resourceProvider.Object, bpmock.Object), editor.Object, property.Object);
+ return new CreateBindingViewModel (new TargetPlatform (editorProvider, resourceProvider.Object, bpmock.Object), editor.Object, property.Object, includeAddValueConverter: includeAddValueConverter);
}
}
} \ No newline at end of file