public function testAddAddress()
 {
     $this->batch->addAddress($this->addrManager->newEmailAddress()->setEmail('*****@*****.**'));
     $this->assertCount(1, ReflectionUtil::getProtectedProperty($this->batch, 'addresses'));
     $this->assertEquals('*****@*****.**', $this->batch->getAddress('*****@*****.**')->getEmail());
     $this->assertNull($this->batch->getAddress('*****@*****.**'));
     $this->setExpectedException('LogicException');
     $this->batch->addAddress($this->addrManager->newEmailAddress()->setEmail('*****@*****.**'));
 }
 /**
  * Create EmailAddress entity object
  *
  * @param string $email The email address, for example: john@example.com or "John Smith" <*****@*****.**>
  * @return EmailAddress
  */
 public function address($email)
 {
     $pureEmail = EmailUtil::extractPureEmailAddress($email);
     $result = $this->batch->getAddress($pureEmail);
     if ($result === null) {
         $result = $this->emailAddressManager->newEmailAddress()->setEmail($pureEmail);
         $this->batch->addAddress($result);
     }
     return $result;
 }