public function testContactPerson() { $contactType = "other"; $Company = "Test Company"; $GivenName = "John"; $SurName = "Doe"; $EmailAddress = array('*****@*****.**', '*****@*****.**'); $TelephoneNumber = array('1-234-567-8901'); $ContactPersonAttributes = array('testattr' => 'testval', 'testattr2' => 'testval2'); $mdNamespace = Constants::NS_MD; $document = DOMDocumentFactory::fromString(<<<XML <md:Test xmlns:md="{$mdNamespace}" Binding="urn:something" Location="https://whatever/" xmlns:test="urn:test" test:attr="value"> </md:Test> XML ); $contactPerson = new ContactPerson(); $contactPerson->contactType = $contactType; $contactPerson->Company = $Company; $contactPerson->GivenName = $GivenName; $contactPerson->SurName = $SurName; $contactPerson->EmailAddress = $EmailAddress; $contactPerson->TelephoneNumber = $TelephoneNumber; $contactPerson->ContactPersonAttributes = $ContactPersonAttributes; $contactPerson->toXML($document->firstChild); $contactPersonElement = $document->getElementsByTagName('ContactPerson')->item(0); $this->assertEquals($contactType, $contactPersonElement->getAttribute('contactType')); $this->assertEquals($Company, $contactPersonElement->getElementsByTagName('Company')->item(0)->nodeValue); $this->assertEquals($GivenName, $contactPersonElement->getElementsByTagName('GivenName')->item(0)->nodeValue); $this->assertEquals($SurName, $contactPersonElement->getElementsByTagName('SurName')->item(0)->nodeValue); $this->assertEquals(count($EmailAddress), $contactPersonElement->getElementsByTagName('EmailAddress')->length); foreach ($contactPersonElement->getElementsByTagName('EmailAddress') as $element) { $this->assertTrue(in_array($element->nodeValue, $EmailAddress)); } $this->assertEquals(count($TelephoneNumber), $contactPersonElement->getElementsByTagName('TelephoneNumber')->length); foreach ($contactPersonElement->getElementsByTagName('TelephoneNumber') as $element) { $this->assertTrue(in_array($element->nodeValue, $TelephoneNumber)); } foreach ($ContactPersonAttributes as $attr => $val) { $this->assertEquals($val, $contactPersonElement->getAttribute($attr)); } }