public function testAllTypes()
{
// Sender
$sender = new Sender();
// HTML email without attachments
$email = $this->getEmail()->setBody(new Email\Body($this->content));
$sender->setEmail($email);
$result = $sender->send(Sender::MODE_NONE);
$this->assertResult('sender-type-simple-html.eml', $result);
// Plaintext email without attachments
$email->setBody(new Email\Body(\Jyxo\Html::toText($this->content)));
$sender->setEmail($email);
$result = $sender->send(Sender::MODE_NONE);
$this->assertResult('sender-type-simple-text.eml', $result);
// HTML email with attachments
$email = $this->getEmail()->setBody(new Email\Body($this->content))->addAttachment(new Email\Attachment\FileAttachment($this->filePath . '/logo.gif', 'logo.gif', 'image/gif'))->addAttachment(new Email\Attachment\StringAttachment(file_get_contents($this->filePath . '/star.gif'), 'star.gif', 'image/gif'));
$sender->setEmail($email);
$result = $sender->send(Sender::MODE_NONE);
$this->assertResult('sender-type-attachment-html.eml', $result);
// Plaintext email with attachments
$email->setBody(new Email\Body(\Jyxo\Html::toText($this->content)));
$sender->setEmail($email);
$result = $sender->send(Sender::MODE_NONE);
$this->assertResult('sender-type-attachment-text.eml', $result);
// Email with an alternative content
$email = $this->getEmail()->setBody(new Email\Body($this->content, \Jyxo\Html::toText($this->content)));
$sender->setEmail($email);
$result = $sender->send(Sender::MODE_NONE);
$this->assertResult('sender-type-alternative.eml', $result);
// Email with an alternative content and inline attachments
$email->addAttachment(new Email\Attachment\InlineFileAttachment($this->filePath . '/logo.gif', 'logo.gif', 'logo.gif', 'image/gif'))->addAttachment(new Email\Attachment\InlineStringAttachment(file_get_contents($this->filePath . '/star.gif'), 'star.gif', 'star.gif', 'image/gif'));
$sender->setEmail($email);
$result = $sender->send(Sender::MODE_NONE);
$this->assertResult('sender-type-alternative-attachment.eml', $result);
}