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>2017-10-19 20:06:44 +0300
committerEric Maupin <ermaup@microsoft.com>2017-10-19 20:06:44 +0300
commit87a980dd76d4c03b45feb52fd26ce2418e354208 (patch)
tree88e659871aab8b7f207721475d50fddcf8ecf4b0 /Xamarin.PropertyEditing.Tests/SizeViewModelTests.cs
parent876040e6b5e95d4cb658158d3305a6871bb58f3f (diff)
[Core] Add Point/Size VMs
Diffstat (limited to 'Xamarin.PropertyEditing.Tests/SizeViewModelTests.cs')
-rw-r--r--Xamarin.PropertyEditing.Tests/SizeViewModelTests.cs94
1 files changed, 94 insertions, 0 deletions
diff --git a/Xamarin.PropertyEditing.Tests/SizeViewModelTests.cs b/Xamarin.PropertyEditing.Tests/SizeViewModelTests.cs
new file mode 100644
index 0000000..2e6f198
--- /dev/null
+++ b/Xamarin.PropertyEditing.Tests/SizeViewModelTests.cs
@@ -0,0 +1,94 @@
+using System;
+using System.Collections.Generic;
+using NUnit.Framework;
+using Xamarin.PropertyEditing.Drawing;
+using Xamarin.PropertyEditing.ViewModels;
+
+namespace Xamarin.PropertyEditing.Tests
+{
+ internal class SizeViewModelTests
+ : PropertyViewModelTests<CommonSize, SizePropertyViewModel>
+ {
+ [Test]
+ public void Width ()
+ {
+ var property = GetPropertyMock ();
+ var editor = GetBasicEditor (property.Object);
+ var vm = GetViewModel (property.Object, new[] { editor });
+ Assume.That (vm.Value, Is.EqualTo (new CommonSize (0, 0)));
+
+ bool xChanged = false, valueChanged = false;
+ vm.PropertyChanged += (sender, args) => {
+ if (args.PropertyName == nameof(SizePropertyViewModel.Width))
+ xChanged = true;
+ if (args.PropertyName == nameof(SizePropertyViewModel.Value))
+ valueChanged = true;
+ };
+
+ vm.Width = 5;
+ Assert.That (vm.Value.Width, Is.EqualTo (5));
+ Assert.That (xChanged, Is.True);
+ Assert.That (valueChanged, Is.True);
+ }
+
+ [Test]
+ public void Height ()
+ {
+ var property = GetPropertyMock ();
+ var editor = GetBasicEditor (property.Object);
+ var vm = GetViewModel (property.Object, new[] { editor });
+ Assume.That (vm.Value, Is.EqualTo (new CommonSize (0, 0)));
+
+ bool yChanged = false, valueChanged = false;
+ vm.PropertyChanged += (sender, args) => {
+ if (args.PropertyName == nameof(SizePropertyViewModel.Height))
+ yChanged = true;
+ if (args.PropertyName == nameof(SizePropertyViewModel.Value))
+ valueChanged = true;
+ };
+
+ vm.Height = 5;
+ Assert.That (vm.Value.Height, Is.EqualTo (5));
+ Assert.That (yChanged, Is.True);
+ Assert.That (valueChanged, Is.True);
+ }
+
+ [Test]
+ public void ValueChangesWidthHeight ()
+ {
+ var property = GetPropertyMock ();
+ var editor = GetBasicEditor (property.Object);
+ var vm = GetViewModel (property.Object, new[] { editor });
+ Assume.That (vm.Width, Is.EqualTo (0));
+ Assume.That (vm.Height, Is.EqualTo (0));
+
+ bool xChanged = false, yChanged = false, valueChanged = false;
+ vm.PropertyChanged += (sender, args) => {
+ if (args.PropertyName == nameof(SizePropertyViewModel.Width))
+ xChanged = true;
+ if (args.PropertyName == nameof(SizePropertyViewModel.Height))
+ yChanged = true;
+ if (args.PropertyName == nameof(SizePropertyViewModel.Value))
+ valueChanged = true;
+ };
+
+ vm.Value = new CommonSize (5, 10);
+
+ Assert.That (vm.Width, Is.EqualTo (5));
+ Assert.That (vm.Height, Is.EqualTo (10));
+ Assert.That (yChanged, Is.True);
+ Assert.That (xChanged, Is.True);
+ Assert.That (valueChanged, Is.True);
+ }
+
+ protected override CommonSize GetRandomTestValue (Random rand)
+ {
+ return new CommonSize (rand.Next (), rand.Next ());
+ }
+
+ protected override SizePropertyViewModel GetViewModel (IPropertyInfo property, IEnumerable<IObjectEditor> editors)
+ {
+ return new SizePropertyViewModel (property, editors);
+ }
+ }
+}