示例#1
0
        public void Equals()
        {
            using (var url1 = NSUrl.FromString("http://www.xamarin.com/ios"))
                using (var url2 = NSUrl.FromString("http://www.xamarin.com"))
                    using (var url3 = new NSUrl("http://www.xamarin.com")) {
                        Assert.That(url1.GetHashCode(), Is.Not.EqualTo(url2.GetHashCode()), "GetHashCode 1-2");
                        // created differently but still identical
                        Assert.That(url2.GetHashCode(), Is.EqualTo(url3.GetHashCode()), "GetHashCode 2-3");

                        // NSObject
                        Assert.False(url1.Equals((NSObject)url2), "Equals(NSObject) 1-2");
                        Assert.True(url2.Equals((NSObject)url3), "Equals(NSObject) 2-3");
                        Assert.False(url1.Equals((NSObject)null), "Equals(NSObject) null");

                        // NSUrl / IEquatable<NSUrl>
                        Assert.False(url1.Equals(url2), "Equals(NSUrl) 1-2");
                        Assert.True(url2.Equals(url3), "Equals(NSUrl) 2-3");
                        Assert.False(url1.Equals((NSUrl)null), "Equals(NSUrl) null");
                    }
        }