public function testContactPersonFromXML()
{
$mdNamespace = Constants::NS_MD;
$document = DOMDocumentFactory::fromString(<<<XML
<?xml version="1.0"?>
<md:Test xmlns:md="{$mdNamespace}" xmlns:test="urn:test" Binding="urn:something" Location="https://whatever/" test:attr="value">
<md:ContactPerson contactType="other" testattr="testval" testattr2="testval2">
<md:Company>Test Company</md:Company>
<md:GivenName>John</md:GivenName>
<md:SurName>Doe</md:SurName>
<md:EmailAddress>[email protected]</md:EmailAddress>
<md:EmailAddress>[email protected]</md:EmailAddress>
<md:TelephoneNumber>1-234-567-8901</md:TelephoneNumber>
</md:ContactPerson>
</md:Test>
XML
);
$contactPerson = new ContactPerson($document->getElementsByTagName('ContactPerson')->item(0));
$this->assertEquals('Test Company', $contactPerson->Company);
$this->assertEquals('John', $contactPerson->GivenName);
$this->assertEquals('Doe', $contactPerson->SurName);
$this->assertTrue(in_array('[email protected]', $contactPerson->EmailAddress));
$this->assertTrue(in_array('[email protected]', $contactPerson->EmailAddress));
$this->assertTrue(in_array('1-234-567-8901', $contactPerson->TelephoneNumber));
$this->assertEquals('testval', $contactPerson->ContactPersonAttributes['testattr']);
$this->assertEquals('testval2', $contactPerson->ContactPersonAttributes['testattr2']);
}