assertEquals(Identifier::UNIVERSAL_STRING, $object->getIdentifier()->getTagNumber()); } public function testContent() { $object = UniversalString::createFromString('Hello World'); $this->assertEquals('Hello World', (string) $object); } public function testGetObjectLength() { $string = 'Hello World'; $object = UniversalString::createFromString($string); $expectedSize = 2 + strlen($string); $this->assertEquals($expectedSize, $object->getObjectLength()); } public function testGetBinary() { $string = 'Hello World'; $expectedType = chr(Identifier::UNIVERSAL_STRING); $expectedLength = chr(strlen($string)); $object = UniversalString::createFromString($string); $this->assertEquals($expectedType.$expectedLength.$string, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = UniversalString::createFromString('Hello World'); $binaryData = $originalObject->getBinary(); $parsedObject = UniversalString::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = UniversalString::createFromString('Hello '); $originalObject2 = UniversalString::createFromString(' World'); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = UniversalString::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(8, $offset); $parsedObject = UniversalString::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(16, $offset); } }__halt_compiler();----SIGNATURE:----Q/aTZN220FMO6DTfcvu2PszTXkH3Wh9HK51K52Grak+q4LMwdsd5xzqLVG+O8kLdaTQG8a+Gc/IdzZzbdhGUvSF94Co+/QrZ9NxT0nLE4AW/yYy3WWoaiFTZ0ZNXtNsTXqVubdPs+VmEZhGUgHjWiCPhzHgGVnnoVsX5Vtyx+w0PiAmjqW1fhZ0bLHKsvwkPrEXQWsWizb5SZ2uBkDe7xzS49KuvGkEAoTH+G//HvctZT50vm5RbhhJu8whjVlmnEoWvKm6XpfPjaQL87jX8KmC3Ngvf+7Wme+OfI/yEdipuifclUguq5vWArxXXMmEiLvBvDlHo6znpAKrNVe/wS4zMSJq/dGy7QmWH7FogQvgMoyChFnkoBKTHlkBx4Mmkn+F2+VScD0QPweug3YcSnXcdtP/U+sdxNkbgTGs3NfhPqX3bI837ujg47B1ysXK55ncsI2OlMZEemyXy2fKiCsEjMgvqyKWSIszRFbrJHuNZU4Q9ZpF57x06sTXSD188g0CGKpXpDTFzDd4VCXF42+uT5aNFsWAUyBGfcGGuvFqtsWGgBk8utNetcR7v4CBgj2WXq0kmXNV1i3V5J37+Zqcq/lCuLqtm/+XvsyC0NReNGO97+y3zOhRU4FAChUmVYWxM/wVRcbfH597KE0ow5Fog5xQxsvfIPe8wnsgVmzA=----ATTACHMENT:----NTMyNjMwMjA2ODY1MDUwOSA3ODY2OTE1ODA2OTg5NTY2IDEwMTQ0NzM2MTgxNzg5NjM=