Exemplo n.º 1
0
        public void TestBasicFunctionality()
        {
            var multipart = new Multipart();

            Assert.IsNotNull(multipart.Boundary, "Boundary != null");
            Assert.IsNotEmpty(multipart.Boundary, "Boundary");
            Assert.IsFalse(multipart.IsReadOnly, "IsReadOnly");

            multipart.Boundary = "__Next_Part_123";

            Assert.AreEqual("__Next_Part_123", multipart.Boundary);

            var generic = new MimePart("application", "octet-stream")
            {
                Content = new MimeContent(new MemoryStream()), IsAttachment = true
            };
            var plain = new TextPart("plain")
            {
                Text = "This is some plain text."
            };

            multipart.Add(generic);
            multipart.Insert(0, plain);

            Assert.AreEqual(2, multipart.Count, "Count");

            Assert.IsTrue(multipart.Contains(generic), "Contains");
            Assert.AreEqual(0, multipart.IndexOf(plain), "IndexOf");
            Assert.IsTrue(multipart.Remove(generic), "Remove");
            Assert.IsFalse(multipart.Remove(generic), "Remove 2nd time");

            multipart.RemoveAt(0);

            Assert.AreEqual(0, multipart.Count, "Count");

            multipart.Add(generic);
            multipart.Add(plain);

            Assert.AreEqual(generic, multipart[0]);
            Assert.AreEqual(plain, multipart[1]);

            multipart[0] = plain;
            multipart[1] = generic;

            Assert.AreEqual(plain, multipart[0]);
            Assert.AreEqual(generic, multipart[1]);

            multipart.Clear();

            Assert.AreEqual(0, multipart.Count, "Count");
        }
Exemplo n.º 2
0
		public void TestArgumentExceptions ()
		{
			var multipart = new Multipart ();

			Assert.Throws<ArgumentNullException> (() => new Multipart ((MimeEntityConstructorArgs) null));
			Assert.Throws<ArgumentNullException> (() => new Multipart ((string) null));
			Assert.Throws<ArgumentNullException> (() => new Multipart ("mixed", null));
			Assert.Throws<ArgumentException> (() => new Multipart ("mixed", 5));

			Assert.Throws<ArgumentNullException> (() => multipart.Boundary = null);

			Assert.Throws<ArgumentNullException> (() => multipart.Add (null));
			Assert.Throws<ArgumentOutOfRangeException> (() => multipart.Insert (-1, new TextPart ("plain")));
			Assert.Throws<ArgumentNullException> (() => multipart.Insert (0, null));
			Assert.Throws<ArgumentNullException> (() => multipart.Remove (null));
			Assert.Throws<ArgumentOutOfRangeException> (() => multipart.RemoveAt (-1));

			Assert.Throws<ArgumentNullException> (() => multipart.Contains (null));
			Assert.Throws<ArgumentNullException> (() => multipart.IndexOf (null));

			Assert.Throws<ArgumentOutOfRangeException> (() => multipart[0] = new TextPart ("plain"));
			Assert.Throws<ArgumentNullException> (() => multipart[0] = null);

			Assert.Throws<ArgumentNullException> (() => multipart.Accept (null));

			Assert.Throws<ArgumentOutOfRangeException> (() => multipart.CopyTo (new MimeEntity[0], -1));
			Assert.Throws<ArgumentNullException> (() => multipart.CopyTo (null, 0));

			Assert.Throws<ArgumentOutOfRangeException> (() => multipart.Prepare (EncodingConstraint.SevenBit, 1));
		}
Exemplo n.º 3
0
        public void TestArgumentExceptions()
        {
            var multipart = new Multipart();

            Assert.Throws <ArgumentNullException> (() => new Multipart((MimeEntityConstructorArgs)null));
            Assert.Throws <ArgumentNullException> (() => new Multipart((string)null));
            Assert.Throws <ArgumentNullException> (() => new Multipart("mixed", null));
            Assert.Throws <ArgumentException> (() => new Multipart("mixed", 5));

            Assert.Throws <ArgumentNullException> (() => multipart.Boundary = null);

            Assert.Throws <ArgumentNullException> (() => multipart.Add(null));
            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.Insert(-1, new TextPart("plain")));
            Assert.Throws <ArgumentNullException> (() => multipart.Insert(0, null));
            Assert.Throws <ArgumentNullException> (() => multipart.Remove(null));
            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.RemoveAt(-1));

            Assert.Throws <ArgumentNullException> (() => multipart.Contains(null));
            Assert.Throws <ArgumentNullException> (() => multipart.IndexOf(null));

            Assert.Throws <ArgumentOutOfRangeException> (() => multipart[0] = new TextPart("plain"));
            Assert.Throws <ArgumentNullException> (() => multipart[0]       = null);

            Assert.Throws <ArgumentNullException> (() => multipart.Accept(null));

            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.CopyTo(new MimeEntity[0], -1));
            Assert.Throws <ArgumentNullException> (() => multipart.CopyTo(null, 0));

            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.Prepare(EncodingConstraint.SevenBit, 1));
        }
Exemplo n.º 4
0
        public void TestArgumentExceptions()
        {
            var multipart = new Multipart();

            Assert.Throws <ArgumentNullException> (() => new Multipart((MimeEntityConstructorArgs)null));
            Assert.Throws <ArgumentNullException> (() => new Multipart((string)null));
            Assert.Throws <ArgumentNullException> (() => new Multipart("mixed", null));
            Assert.Throws <ArgumentException> (() => new Multipart("mixed", 5));

            Assert.Throws <ArgumentNullException> (() => multipart.Boundary = null);

            Assert.Throws <ArgumentNullException> (() => multipart.Add(null));
            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.Insert(-1, new TextPart("plain")));
            Assert.Throws <ArgumentNullException> (() => multipart.Insert(0, null));
            Assert.Throws <ArgumentNullException> (() => multipart.Remove(null));
            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.RemoveAt(-1));

            Assert.Throws <ArgumentNullException> (() => multipart.Contains(null));
            Assert.Throws <ArgumentNullException> (() => multipart.IndexOf(null));

            Assert.Throws <ArgumentOutOfRangeException> (() => multipart[0] = new TextPart("plain"));
            Assert.Throws <ArgumentNullException> (() => multipart[0]       = null);

            Assert.Throws <ArgumentNullException> (() => multipart.Accept(null));

            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.CopyTo(new MimeEntity[0], -1));
            Assert.Throws <ArgumentNullException> (() => multipart.CopyTo(null, 0));

            Assert.Throws <ArgumentOutOfRangeException> (() => multipart.Prepare(EncodingConstraint.SevenBit, 1));

            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo((string)null));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo((Stream)null));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo((string)null, false));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo((Stream)null, false));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(null, Stream.Null));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(FormatOptions.Default, (Stream)null));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(null, "fileName"));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(FormatOptions.Default, (string)null));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(null, Stream.Null, false));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(FormatOptions.Default, (Stream)null, false));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(null, "fileName", false));
            Assert.Throws <ArgumentNullException> (() => multipart.WriteTo(FormatOptions.Default, (string)null, false));

            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync((string)null));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync((Stream)null));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync((string)null, false));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync((Stream)null, false));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(null, Stream.Null));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(FormatOptions.Default, (Stream)null));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(null, "fileName"));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(FormatOptions.Default, (string)null));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(null, Stream.Null, false));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(FormatOptions.Default, (Stream)null, false));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(null, "fileName", false));
            Assert.ThrowsAsync <ArgumentNullException> (async() => await multipart.WriteToAsync(FormatOptions.Default, (string)null, false));
        }
Exemplo n.º 5
0
		public void TestBasicFunctionality ()
		{
			var multipart = new Multipart ();

			Assert.IsNotNullOrEmpty (multipart.Boundary, "Boundary");
			Assert.IsFalse (multipart.IsReadOnly, "IsReadOnly");

			multipart.Boundary = "__Next_Part_123";

			Assert.AreEqual ("__Next_Part_123", multipart.Boundary);

			var generic = new MimePart ("application", "octet-stream") { ContentObject = new ContentObject (new MemoryStream ()), IsAttachment = true };
			var plain = new TextPart ("plain") { Text = "This is some plain text." };

			multipart.Add (generic);
			multipart.Insert (0, plain);

			Assert.AreEqual (2, multipart.Count, "Count");

			Assert.IsTrue (multipart.Contains (generic), "Contains");
			Assert.AreEqual (0, multipart.IndexOf (plain), "IndexOf");
			Assert.IsTrue (multipart.Remove (generic), "Remove");
			Assert.IsFalse (multipart.Remove (generic), "Remove 2nd time");

			multipart.RemoveAt (0);

			Assert.AreEqual (0, multipart.Count, "Count");

			multipart.Add (generic);
			multipart.Add (plain);

			Assert.AreEqual (generic, multipart[0]);
			Assert.AreEqual (plain, multipart[1]);

			multipart[0] = plain;
			multipart[1] = generic;

			Assert.AreEqual (plain, multipart[0]);
			Assert.AreEqual (generic, multipart[1]);

			multipart.Clear ();

			Assert.AreEqual (0, multipart.Count, "Count");
		}