| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 |
- //
- // MailAddressTest.cs - NUnit Test Cases for System.Net.MailAddress.MailAddress
- //
- // Authors:
- // John Luke ([email protected])
- //
- // (C) 2005 John Luke
- //
- using NUnit.Framework;
- using System;
- using System.Net.Mail;
- namespace MonoTests.System.Net.Mail
- {
- [TestFixture]
- public class MailAddressTest
- {
- MailAddress address;
- [SetUp]
- public void GetReady ()
- {
- address = new MailAddress ("[email protected]", "Mr. Foo Bar");
- }
- [Test]
- public void Constructor0 ()
- {
- address = new MailAddress (" [email protected] ");
- Assert.AreEqual ("[email protected]", address.Address, "#A1");
- Assert.AreEqual (string.Empty, address.DisplayName, "#A2");
- Assert.AreEqual ("example.com", address.Host, "#A3");
- Assert.AreEqual ("[email protected]", address.ToString (), "#A4");
- Assert.AreEqual ("foo", address.User, "#A5");
- address = new MailAddress ("Mr. Foo Bar <[email protected]>");
- Assert.AreEqual ("[email protected]", address.Address, "#B1");
- Assert.AreEqual ("Mr. Foo Bar", address.DisplayName, "#B2");
- Assert.AreEqual ("example.com", address.Host, "#B3");
- Assert.AreEqual ("\"Mr. Foo Bar\" <[email protected]>", address.ToString (), "#B4");
- Assert.AreEqual ("foo", address.User, "#B5");
- address = new MailAddress ("Mr. F@@ Bar <[email protected]> Whatever@You@Want");
- Assert.AreEqual ("[email protected]", address.Address, "#C1");
- Assert.AreEqual ("Mr. F@@ Bar", address.DisplayName, "#C2");
- Assert.AreEqual ("example.com", address.Host, "#C3");
- Assert.AreEqual ("\"Mr. F@@ Bar\" <[email protected]>", address.ToString (), "#C4");
- Assert.AreEqual ("foo", address.User, "#C5");
- address = new MailAddress ("\"Mr. F@@ Bar\" <[email protected]> Whatever@You@Want");
- Assert.AreEqual ("[email protected]", address.Address, "#D1");
- Assert.AreEqual ("Mr. F@@ Bar", address.DisplayName, "#D2");
- Assert.AreEqual ("example.com", address.Host, "#D3");
- Assert.AreEqual ("\"Mr. F@@ Bar\" <[email protected]>", address.ToString (), "#D4");
- Assert.AreEqual ("foo", address.User, "#D5");
- address = new MailAddress ("FooBar <[email protected]>");
- Assert.AreEqual ("[email protected]", address.Address, "#E1");
- Assert.AreEqual ("FooBar", address.DisplayName, "#E2");
- Assert.AreEqual ("example.com", address.Host, "#E3");
- Assert.AreEqual ("\"FooBar\" <[email protected]>", address.ToString (), "#E4");
- Assert.AreEqual ("foo", address.User, "#E5");
- address = new MailAddress ("\"FooBar\"[email protected] ");
- Assert.AreEqual ("[email protected]", address.Address, "#F1");
- Assert.AreEqual ("FooBar", address.DisplayName, "#F2");
- Assert.AreEqual ("example.com", address.Host, "#F3");
- Assert.AreEqual ("\"FooBar\" <[email protected]>", address.ToString (), "#F4");
- Assert.AreEqual ("foo", address.User, "#F5");
- address = new MailAddress ("\" FooBar \"< [email protected] >");
- Assert.AreEqual ("[email protected]", address.Address, "#G1");
- Assert.AreEqual ("FooBar", address.DisplayName, "#G2");
- Assert.AreEqual ("example.com", address.Host, "#G3");
- Assert.AreEqual ("\"FooBar\" <[email protected]>", address.ToString (), "#G4");
- Assert.AreEqual ("foo", address.User, "#G5");
- address = new MailAddress ("<[email protected]>");
- Assert.AreEqual ("[email protected]", address.Address, "#H1");
- Assert.AreEqual (string.Empty, address.DisplayName, "#H2");
- Assert.AreEqual ("example.com", address.Host, "#H3");
- Assert.AreEqual ("[email protected]", address.ToString (), "#H4");
- Assert.AreEqual ("foo", address.User, "#H5");
- address = new MailAddress (" < [email protected] >");
- Assert.AreEqual ("[email protected]", address.Address, "#H1");
- Assert.AreEqual (string.Empty, address.DisplayName, "#H2");
- Assert.AreEqual ("example.com", address.Host, "#H3");
- Assert.AreEqual ("[email protected]", address.ToString (), "#H4");
- Assert.AreEqual ("foo", address.User, "#H5");
- }
- [Test]
- public void Constructor0_Address_Null ()
- {
- try {
- new MailAddress ((string) null);
- Assert.Fail ("#1");
- } catch (ArgumentNullException ex) {
- Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
- Assert.IsNotNull (ex.ParamName, "#5");
- Assert.AreEqual ("address", ex.ParamName, "#6");
- }
- }
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Constructor_Address_Empty ()
- {
- new MailAddress ("");
- }
- [Test]
- public void Constructor0_Address_Invalid ()
- {
- try {
- new MailAddress ("Mr. Foo Bar");
- Assert.Fail ("#A1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#A2");
- Assert.IsNull (ex.InnerException, "#A3");
- Assert.IsNotNull (ex.Message, "#A4");
- }
- try {
- new MailAddress ("foo@b@ar");
- Assert.Fail ("#B1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#B2");
- Assert.IsNull (ex.InnerException, "#B3");
- Assert.IsNotNull (ex.Message, "#B4");
- }
- try {
- new MailAddress ("Mr. Foo Bar <foo@exa<mple.com");
- Assert.Fail ("#C1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#C2");
- Assert.IsNull (ex.InnerException, "#C3");
- Assert.IsNotNull (ex.Message, "#C4");
- }
- try {
- new MailAddress ("Mr. Foo Bar <[email protected]");
- Assert.Fail ("#D1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#D2");
- Assert.IsNull (ex.InnerException, "#D3");
- Assert.IsNotNull (ex.Message, "#D4");
- }
- try {
- new MailAddress ("Mr. \"F@@ Bar\" <[email protected]> Whatever@You@Want");
- Assert.Fail ("#E1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#E2");
- Assert.IsNull (ex.InnerException, "#E3");
- Assert.IsNotNull (ex.Message, "#E4");
- }
- try {
- new MailAddress ("Mr. F@@ Bar <[email protected]> What\"ever@You@Want");
- Assert.Fail ("#F1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#F2");
- Assert.IsNull (ex.InnerException, "#F3");
- Assert.IsNotNull (ex.Message, "#F4");
- }
- try {
- new MailAddress ("\"MrFo@Bar\"");
- Assert.Fail ("#G1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#G2");
- Assert.IsNull (ex.InnerException, "#G3");
- Assert.IsNotNull (ex.Message, "#G4");
- }
- try {
- new MailAddress ("\"MrFo@Bar\"<>");
- Assert.Fail ("#H1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#H2");
- Assert.IsNull (ex.InnerException, "#H3");
- Assert.IsNotNull (ex.Message, "#H4");
- }
-
- try {
- new MailAddress (" ");
- Assert.Fail ("#I1");
- } catch (FormatException ex) {
- // The specified string is not in the form required for an
- // e-mail address
- Assert.AreEqual (typeof (FormatException), ex.GetType (), "#I2");
- Assert.IsNull (ex.InnerException, "#I3");
- Assert.IsNotNull (ex.Message, "#I4");
- }
- }
- [Test]
- public void Constructor1 ()
- {
- address = new MailAddress (" [email protected] ", (string) null);
- Assert.AreEqual ("[email protected]", address.Address, "#A1");
- Assert.AreEqual (string.Empty, address.DisplayName, "#A2");
- Assert.AreEqual ("example.com", address.Host, "#A3");
- Assert.AreEqual ("[email protected]", address.ToString (), "#A4");
- Assert.AreEqual ("foo", address.User, "#A5");
- address = new MailAddress ("<[email protected]> WhatEver", " Mr. Foo Bar ");
- Assert.AreEqual ("[email protected]", address.Address, "#B1");
- Assert.AreEqual ("Mr. Foo Bar", address.DisplayName, "#B2");
- Assert.AreEqual ("example.com", address.Host, "#B3");
- Assert.AreEqual ("\"Mr. Foo Bar\" <[email protected]>", address.ToString (), "#B4");
- Assert.AreEqual ("foo", address.User, "#B5");
- address = new MailAddress ("Mr. F@@ Bar <[email protected]> Whatever", "BarFoo");
- Assert.AreEqual ("[email protected]", address.Address, "#C1");
- Assert.AreEqual ("BarFoo", address.DisplayName, "#C2");
- Assert.AreEqual ("example.com", address.Host, "#C3");
- Assert.AreEqual ("\"BarFoo\" <[email protected]>", address.ToString (), "#C4");
- Assert.AreEqual ("foo", address.User, "#C5");
- address = new MailAddress ("Mr. F@@ Bar <[email protected]> Whatever", string.Empty);
- Assert.AreEqual ("[email protected]", address.Address, "#D1");
- Assert.AreEqual (string.Empty, address.DisplayName, "#D2");
- Assert.AreEqual ("example.com", address.Host, "#D3");
- Assert.AreEqual ("[email protected]", address.ToString (), "#D4");
- Assert.AreEqual ("foo", address.User, "#D5");
- address = new MailAddress ("Mr. F@@ Bar <[email protected]> Whatever", (string) null);
- Assert.AreEqual ("[email protected]", address.Address, "#E1");
- Assert.AreEqual ("Mr. F@@ Bar", address.DisplayName, "#E2");
- Assert.AreEqual ("example.com", address.Host, "#E3");
- Assert.AreEqual ("\"Mr. F@@ Bar\" <[email protected]>", address.ToString (), "#E4");
- Assert.AreEqual ("foo", address.User, "#E5");
- address = new MailAddress ("Mr. F@@ Bar <[email protected]> Whatever", " ");
- Assert.AreEqual ("[email protected]", address.Address, "#F1");
- Assert.AreEqual (string.Empty, address.DisplayName, "#F2");
- Assert.AreEqual ("example.com", address.Host, "#F3");
- Assert.AreEqual ("[email protected]", address.ToString (), "#F4");
- Assert.AreEqual ("foo", address.User, "#F5");
- }
- [Test]
- public void DisplayName_Precedence ()
- {
- var ma = new MailAddress ("Hola <[email protected]>");
- Assert.AreEqual (ma.DisplayName, "Hola");
- ma = new MailAddress ("Hola <[email protected]>", "Adios");
- Assert.AreEqual (ma.DisplayName, "Adios");
- ma = new MailAddress ("Hola <[email protected]>", "");
- Assert.AreEqual (ma.DisplayName, "");
- }
- [Test]
- [ExpectedException (typeof (FormatException))]
- public void Address_Invalid ()
- {
- new MailAddress ("foobar");
- }
- [Test]
- public void Address_QuoteFirst ()
- {
- new MailAddress ("\"Hola\" <[email protected]>");
- }
- [Test]
- [ExpectedException (typeof (FormatException))]
- public void Address_QuoteNotFirst ()
- {
- new MailAddress ("H\"ola\" <[email protected]>");
- }
- [Test]
- [ExpectedException (typeof (FormatException))]
- public void Address_NoClosingQuote ()
- {
- new MailAddress ("\"Hola <[email protected]>");
- }
- [Test]
- [ExpectedException (typeof (FormatException))]
- public void Address_NoUser ()
- {
- new MailAddress ("Hola <@bar.com>");
- }
- [Test]
- [ExpectedException (typeof (FormatException))]
- public void Address_NoUserNoHost ()
- {
- new MailAddress ("Hola <@>");
- }
- [Test]
- public void Address ()
- {
- Assert.AreEqual ("[email protected]", address.Address);
- }
- [Test]
- public void DisplayName ()
- {
- Assert.AreEqual ("Mr. Foo Bar", address.DisplayName);
- }
- [Test]
- public void Host ()
- {
- Assert.AreEqual ("example.com", address.Host);
- }
- [Test]
- public void User ()
- {
- Assert.AreEqual ("foo", address.User);
- }
- [Test]
- public void ToStringTest ()
- {
- Assert.AreEqual ("\"Mr. Foo Bar\" <[email protected]>", address.ToString ());
- }
- [Test]
- public void EqualsTest ()
- {
- var n = new MailAddress ("Mr. Bar <[email protected]>");
- var n2 = new MailAddress ("[email protected]", "Mr. Bar");
- Assert.AreEqual (n, n2);
- }
- [Test]
- public void EqualsTest2 ()
- {
- var n = new MailAddress ("Mr. Bar <[email protected]>");
- var n2 = new MailAddress ("MR. BAR <[email protected]>");
- Assert.AreEqual (n, n2);
- }
- }
- }
|