Example #1
0
 public void Equality()
 {
     using (var s1 = new NSString("\u00f6"))                     // o-umlaut
         using (var s2 = new NSString("o\u0308")) {              // o + combining diaeresis
             // since ObjC thinks it's different
             Assert.That(s1.GetHashCode(), Is.Not.EqualTo(s2.GetHashCode()), "GetHashCode");
             // then it's "correct" to return false for equality
             Assert.False(s1.Equals((object)s2), "Equal(object)");
             Assert.False(s1.Equals((NSObject)s2), "Equal(NSObject)");
             Assert.False(s1.Equals((NSString)s2), "Equal(NSString)");
             Assert.False(NSString.Equals(s1, s2), "static");
             // and people need to call compare
             Assert.That(s1.Compare(s2), Is.EqualTo(NSComparisonResult.Same), "Same");
         }
 }