public void CreateCoreEmail_MultipleEmailAddress_Returns_Core_Email_With_CorrectNumberOfAddresses()
        {
            //Arrange
            var email = new Email
            {
                ToAddresses = "Kristian Wilson <*****@*****.**>| Kristian Wilson <*****@*****.**>",
                Subject = "Test Subject",
                PlainTextBody = "Plain Text",
                HtmlBody = "Html Body",
                Attachments = new List<Attachment> { new Attachment { AttachmentName = "Test", MimeType = "Test" } }
            };

            //Act
            var result = EmailFactory.CreateCoreEmail(email);

            //Assert
            result.EmailAddresses.Should().NotBeEmpty();
            result.EmailAddresses.Count().Should().Be(2);
            result.EmailAddresses.First().Name.Should().Be("Kristian Wilson");
            result.EmailAddresses.First().Email.Should().Be("*****@*****.**");
            result.EmailAddresses[1].Name.Should().Be("Kristian Wilson");
            result.EmailAddresses[1].Email.Should().Be("*****@*****.**");
            result.EmailAddresses.First().Type.Should().Be(EmailAddressType.To);
            result.Subject.Should().Be(email.Subject);
            result.PlainTextBody.Should().Be(email.PlainTextBody);
            result.HtmlBody.Should().Be(email.HtmlBody);
            result.Attachments.Should().NotBeEmpty();
            result.Attachments.Count().Should().Be(1);
            result.Attachments.First().AttachmentName.Should().Be("Test");
            result.Attachments.First().MimeType.Should().Be("Test");
        }
        public static Core.Objects.Email CreateCoreEmail(Email emailModel)
        {
            Check.If(emailModel).IsNotNull();

            var result = new Core.Objects.Email
            {
                Subject = emailModel.Subject,
                PlainTextBody = emailModel.PlainTextBody,
                HtmlBody = emailModel.HtmlBody,
                Attachments = Mapper.Map<List<Attachment>, List<Core.Objects.Attachment>> (emailModel.Attachments)
            };

            result.EmailAddresses.AddRange(emailModel.ToAddresses.ToEmailAddressList(EmailAddressType.To));
            result.EmailAddresses.AddRange(emailModel.FromAddress.ToEmailAddressList(EmailAddressType.From));
            result.EmailAddresses.AddRange(emailModel.Bcc.ToEmailAddressList(EmailAddressType.BlindCarbonCopy));
            result.EmailAddresses.AddRange(emailModel.Cc.ToEmailAddressList(EmailAddressType.CarbonCopy));

            return result;
        }