public void TestAddBcc()
        {
            var foo = new Mock <IHeader>();

            var sg = new Mail(foo.Object);

            sg.AddBcc("*****@*****.**");
            Assert.AreEqual("*****@*****.**", sg.Bcc.First().ToString(), "Single Bcc Address");

            sg = new Mail(foo.Object);
            var strings = new String[2];

            strings[0] = "*****@*****.**";
            strings[1] = "*****@*****.**";
            sg.AddBcc(strings);
            Assert.AreEqual("*****@*****.**", sg.Bcc[0].ToString(), "Multiple addresses, check first one");
            Assert.AreEqual("*****@*****.**", sg.Bcc[1].ToString(), "Multiple addresses, check second one");

            sg = new Mail(foo.Object);
            var a = new Dictionary <String, String>();

            a.Add("DisplayName", "Eric");
            var datastruct = new Dictionary <string, IDictionary <string, string> > {
                { "*****@*****.**", a }
            };

            sg.AddBcc(datastruct);
            Assert.AreEqual("Eric", sg.Bcc.First().DisplayName, "Single address with args");
        }
        public void TestGetRcpts()
        {
            var foo = new Mock <IHeader>();
            var sg  = new Mail(foo.Object);

            sg.AddTo("*****@*****.**");
            sg.AddCc("*****@*****.**");
            sg.AddBcc("*****@*****.**");
            sg.AddBcc("*****@*****.**");

            var rcpts = sg.GetRecipients();

            Assert.AreEqual("*****@*****.**", rcpts.First(), "getRecipients check To");
            Assert.AreEqual("*****@*****.**", rcpts.Skip(1).First(), "getRecipients check Cc");
            Assert.AreEqual("*****@*****.**", rcpts.Skip(2).First(), "getRecipients check Bcc");
            Assert.AreEqual("*****@*****.**", rcpts.Skip(3).First(), "getRecipients check Bcc x2");
        }
        public void TestAddBcc()
        {
            var foo = new Mock<IHeader>();

            var sg = new Mail(foo.Object);
            sg.AddBcc("*****@*****.**");
            Assert.AreEqual("*****@*****.**", sg.Bcc.First().ToString(), "Single Bcc Address");

            sg = new Mail(foo.Object);
            var strings = new String[2];
            strings[0] = "*****@*****.**";
            strings[1] = "*****@*****.**";
            sg.AddBcc(strings);
            Assert.AreEqual("*****@*****.**", sg.Bcc[0].ToString(), "Multiple addresses, check first one");
            Assert.AreEqual("*****@*****.**", sg.Bcc[1].ToString(), "Multiple addresses, check second one");

            sg = new Mail(foo.Object);
            var a = new Dictionary<String, String>();
            a.Add("DisplayName", "Eric");
            var datastruct = new Dictionary<string, IDictionary<string, string>> { { "*****@*****.**", a } };
            sg.AddBcc(datastruct);
            Assert.AreEqual("Eric", sg.Bcc.First().DisplayName, "Single address with args");
        }
        public void TestGetRcpts()
        {
            var foo = new Mock<IHeader>();
            var sg = new Mail(foo.Object);

            sg.AddTo("*****@*****.**");
            sg.AddCc("*****@*****.**");
            sg.AddBcc("*****@*****.**");
            sg.AddBcc("*****@*****.**");

            var rcpts = sg.GetRecipients();
            Assert.AreEqual("*****@*****.**", rcpts.First(), "getRecipients check To");
            Assert.AreEqual("*****@*****.**", rcpts.Skip(1).First(), "getRecipients check Cc");
            Assert.AreEqual("*****@*****.**", rcpts.Skip(2).First(), "getRecipients check Bcc");
            Assert.AreEqual("*****@*****.**", rcpts.Skip(3).First(), "getRecipients check Bcc x2");
        }