/**
  * @test
  * @group metadata
  * @group contactperson
  */
 public function adding_an_email_address_returns_a_new_list_with_that_email_address_appended()
 {
     $initialEmailOne = new EmailAddress('*****@*****.**');
     $initialEmailTwo = new EmailAddress('*****@*****.**');
     $additionalEmail = new EmailAddress('*****@*****.**');
     $list = new EmailAddressList(array($initialEmailOne, $initialEmailTwo));
     $newList = $list->add($additionalEmail);
     $this->assertNotSame($newList, $list, 'when adding an element to a list a new list must be returned');
     $this->assertTrue($list->contains($initialEmailOne));
     $this->assertTrue($list->contains($initialEmailTwo));
     $this->assertFalse($list->contains($additionalEmail));
     $this->assertTrue($newList->contains($initialEmailOne));
     $this->assertTrue($newList->contains($initialEmailTwo));
     $this->assertTrue($newList->contains($additionalEmail));
 }