diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-09-21 19:45:49 +0200 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2017-10-23 13:32:07 +0900 |
commit | d5307096bbb473ff053a98e179863eeb8af0e35f (patch) | |
tree | 147958e3f6b0dd33e70fbf1464ff5d663c74e08f /Xamarin.Forms.Core.UnitTests | |
parent | 39f50425340510ce2c5ed1793b90f5161eae1ff4 (diff) | |
download | xamarin-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.cs | 30 |
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() { |