// // MailMessageTest.cs - NUnit Test Cases for System.Net.MailAddress.MailMessage // // Authors: // John Luke (john.luke@gmail.com) // // (C) 2005, 2006 John Luke // using NUnit.Framework; using System; using System.IO; using System.Text; using System.Net.Mail; namespace MonoTests.System.Net.Mail { [TestFixture] public class MailMessageTest { MailMessage msg; MailMessage msg2; [SetUp] public void GetReady () { msg = new MailMessage ("from@example.com", "to@example.com"); msg.Subject = "the subject"; msg.Body = "hello"; //msg.AlternateViews.Add (AlternateView.CreateAlternateViewFromString ("hello", "text/html")); //Attachment a = Attachment.CreateAttachmentFromString ("blah blah", "text/plain"); //msg.Attachments.Add (a); msg2 = new MailMessage ("from@example.com", "r1@t1.com, r2@t1.com"); } [Test] public void TestRecipients () { Assert.AreEqual (msg2.To.Count, 2); Assert.AreEqual (msg2.To[0].Address, "r1@t1.com"); Assert.AreEqual (msg2.To[1].Address, "r2@t1.com"); } [Test] [ExpectedException (typeof (ArgumentNullException))] public void ArgumentNullCtor1 () { new MailMessage (null, "to@example.com"); } [Test] [ExpectedException (typeof (ArgumentNullException))] public void ArgumentNullCtor2 () { new MailMessage (null, new MailAddress ("to@example.com")); } [Test] [ExpectedException (typeof (ArgumentNullException))] public void ArgumentNullCtor3 () { new MailMessage ("from@example.com", null); } [Test] [ExpectedException (typeof (ArgumentNullException))] public void ArgumentNullCtor4 () { new MailMessage (new MailAddress ("from@example.com"), null); } /*[Test] public void AlternateView () { Assert.AreEqual (msg.AlternateViews.Count, 1); AlternateView av = msg.AlternateViews[0]; // test that the type is ok, etc. }*/ /*[Test] public void Attachment () { Assert.AreEqual (msg.Attachments.Count, 1); Attachment at = msg.Attachments[0]; Assert.AreEqual (at.ContentType.MediaType, "text/plain"); }*/ [Test] public void Body () { Assert.AreEqual (msg.Body, "hello"); } [Test] public void BodyEncoding () { Assert.AreEqual (msg.BodyEncoding, Encoding.ASCII); } [Test] public void From () { Assert.AreEqual (msg.From.Address, "from@example.com"); } [Test] public void IsBodyHtml () { Assert.IsFalse (msg.IsBodyHtml); } [Test] public void Priority () { Assert.AreEqual (msg.Priority, MailPriority.Normal); } [Test] public void Subject () { Assert.AreEqual (msg.Subject, "the subject"); } [Test] public void To () { Assert.AreEqual (msg.To.Count, 1, "#A1"); Assert.AreEqual (msg.To[0].Address, "to@example.com", "#A2"); msg = new MailMessage (); msg.To.Add ("to@example.com"); msg.To.Add ("you@nowhere.com"); Assert.AreEqual (msg.To.Count, 2, "#B1"); Assert.AreEqual (msg.To[0].Address, "to@example.com", "#B2"); Assert.AreEqual (msg.To[1].Address, "you@nowhere.com", "#B3"); } [Test] public void BodyAndEncoding () { MailMessage msg = new MailMessage ("from@example.com", "to@example.com"); Assert.AreEqual (null, msg.BodyEncoding, "#1"); msg.Body = "test"; Assert.AreEqual (Encoding.ASCII, msg.BodyEncoding, "#2"); msg.Body = "test\u3067\u3059"; Assert.AreEqual (Encoding.ASCII, msg.BodyEncoding, "#3"); msg.BodyEncoding = null; msg.Body = "test\u3067\u3059"; Assert.AreEqual (Encoding.UTF8.CodePage, msg.BodyEncoding.CodePage, "#4"); } [Test] public void SubjectAndEncoding () { MailMessage msg = new MailMessage ("from@example.com", "to@example.com"); Assert.AreEqual (null, msg.SubjectEncoding, "#1"); msg.Subject = "test"; Assert.AreEqual (null, msg.SubjectEncoding, "#2"); msg.Subject = "test\u3067\u3059"; Assert.AreEqual (Encoding.UTF8.CodePage, msg.SubjectEncoding.CodePage, "#3"); msg.SubjectEncoding = null; msg.Subject = "test\u3067\u3059"; Assert.AreEqual (Encoding.UTF8.CodePage, msg.SubjectEncoding.CodePage, "#4"); } } }