summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests
diff options
context:
space:
mode:
authorStephane Delcroix <stephane@delcroix.org>2017-09-21 19:45:49 +0200
committerKangho Hur <kangho.hur@samsung.com>2017-10-23 13:32:07 +0900
commitd5307096bbb473ff053a98e179863eeb8af0e35f (patch)
tree147958e3f6b0dd33e70fbf1464ff5d663c74e08f /Xamarin.Forms.Core.UnitTests
parent39f50425340510ce2c5ed1793b90f5161eae1ff4 (diff)
downloadxamarin-forms-d5307096bbb473ff053a98e179863eeb8af0e35f.tar.gz
xamarin-forms-d5307096bbb473ff053a98e179863eeb8af0e35f.tar.bz2
xamarin-forms-d5307096bbb473ff053a98e179863eeb8af0e35f.zip
[C] Use ReferenceEquals to compare BindingContext (#1150)
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests')
-rw-r--r--Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs b/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs
index 861d9af1..9db091e5 100644
--- a/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs
@@ -123,6 +123,36 @@ namespace Xamarin.Forms.Core.UnitTests
Assert.AreEqual(count, 1);
}
+ class MockVMEquals {
+ public string Key { get; set; }
+ public string Text { get; set; }
+ public override bool Equals(object obj)
+ {
+ var other = obj as MockVMEquals;
+ if (other == null)
+ return false;
+ return Key == other.Key;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+
+ [Test]
+ //https://bugzilla.xamarin.com/show_bug.cgi?id=59507
+ public void BindingContextChangedCompareReferences()
+ {
+ var mock = new MockBindable();
+ mock.BindingContext = new MockVMEquals { Key = "Foo", Text = "Foo" };
+ mock.BindingContextChanged += (sender, args) => Assert.Pass();
+
+ mock.BindingContext = new MockVMEquals { Key = "Foo", Text = "Bar" };
+
+ Assert.Fail("The BindingContextChanged event was not fired.");
+ }
+
[Test]
public void ParentAndChildBindingContextChanged()
{