public void TestCompareTo () { var list1 = new InternetAddressList (); list1.Add (new GroupAddress ("Local recipients", new InternetAddress[] { new MailboxAddress ("", "phil"), new MailboxAddress ("", "joe"), new MailboxAddress ("", "alex"), new MailboxAddress ("", "bob"), })); list1.Add (new MailboxAddress ("Joey", "*****@*****.**")); list1.Add (new MailboxAddress ("Chandler", "*****@*****.**")); var list2 = new InternetAddressList (); list2.Add (new MailboxAddress ("Chandler", "*****@*****.**")); list2.Add (new GroupAddress ("Local recipients", new InternetAddress[] { new MailboxAddress ("", "phil"), new MailboxAddress ("", "joe"), new MailboxAddress ("", "alex"), new MailboxAddress ("", "bob"), })); list2.Add (new MailboxAddress ("Joey", "*****@*****.**")); Assert.IsTrue (list1.CompareTo (list2) > 0, "CompareTo() should return < 0."); Assert.IsTrue (list2.CompareTo (list1) < 0, "CompareTo() should return > 0."); var mailbox = new MailboxAddress ("Joe", "*****@*****.**"); var group = new GroupAddress ("Joe", new InternetAddress[] { new MailboxAddress ("Joe", "*****@*****.**") }); // MailboxAddresses with the same name should always sort first Assert.IsTrue (mailbox.CompareTo (group) < 0, "CompareTo() should return < 0."); Assert.IsTrue (group.CompareTo (mailbox) > 0, "CompareTo() should return > 0."); Assert.IsTrue (mailbox.CompareTo (group.Members[0]) == 0, "CompareTo() should return 0."); }