public function testMarshalling()
{
$logo = new Logo();
$logo->lang = "nl";
$logo->width = 300;
$logo->height = 200;
$logo->url = "https://static.example.org/images/logos/logo300x200.png";
$document = DOMDocumentFactory::fromString('<root />');
$xml = $logo->toXML($document->firstChild);
$logoElements = Utils::xpQuery($xml, '/root/*[local-name()=\'Logo\' and namespace-uri()=\'urn:oasis:names:tc:SAML:metadata:ui\']');
$this->assertCount(1, $logoElements);
$logoElement = $logoElements[0];
$this->assertEquals("https://static.example.org/images/logos/logo300x200.png", $logoElement->textContent);
$this->assertEquals("nl", $logoElement->getAttribute("xml:lang"));
$this->assertEquals(300, $logoElement->getAttribute("width"));
$this->assertEquals(200, $logoElement->getAttribute("height"));
}