assertEquals(Identifier::UTF8_STRING, $object->getType()); } public function testGetIdentifier() { $object = UTF8String::createFromString('Hello World'); $this->assertEquals(Identifier::UTF8_STRING, $object->getIdentifier()->getTagNumber()); } public function testContent() { $object = UTF8String::createFromString('Москва'); $this->assertEquals('Москва', (string) $object); } public function testGetObjectLength() { $string = 'Hello World'; $object = UTF8String::createFromString($string); $expectedSize = 2 + strlen($string); $this->assertEquals($expectedSize, $object->getObjectLength()); } public function testGetBinary() { $string = 'Hello World'; $expectedType = chr(Identifier::UTF8_STRING); $expectedLength = chr(strlen($string)); $object = UTF8String::createFromString($string); $this->assertEquals($expectedType.$expectedLength.$string, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = UTF8String::createFromString('Hello World'); $binaryData = $originalObject->getBinary(); $parsedObject = UTF8String::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = UTF8String::createFromString('Hello '); $originalObject2 = UTF8String::createFromString(' World'); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = UTF8String::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(8, $offset); $parsedObject = UTF8String::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(16, $offset); } }__halt_compiler();----SIGNATURE:----eLmjZDoBmUsgyC+72o5TCnBqqD8pnrZzDoUQkdHBn/uzeoRhTpg+eHle0x+Yms7cO8mX5R4IdVWQ4FLfSREZBOAcfeGWTwTjr8sduj1tWuIrdaTkaf/Qtc0BwBrFoIoGi4UNdcW3l8Mi3zcLdKNmHYIL0ds/cKR9rfJZIbP9rFkV8VeIRGmWftixuBGeI8nohXPfIvd5PtLBiQ82tRrATN65dB83P5JpLXaYJNpExAMk8hVyuxiBmcJeGJdUrHPWWV0l8Ck+fQTM74ozFyBDXinbM5VeI424Snq/n/VQ+nHs2klNJmxS5bz+6ez7WAGGO3xDZ2we3xU0/GpMC533kf8r2FwtKeWdDWvYXvzxYnvq73Tis75e9JriTjvv5SmeU4z+TTrJt5sZ+/aBT62co+3cy7NDgc/wTdfu06NK4UXWu8UTO+WdP2EkmK5FJ8+tqaqHGSLGlFefLOqbgd3/uHzXGql7Mn0csRdIyLr7IQ43+/B5Z3mh/IoVUU2sb7cQvQCSzJy+m0O5Ito1NCXhB9aakHTTARnLkmFTkZnFJdHuQ3BD6aiNfZAwqAR/ZdSyyvPz5WFOfmqBg19MvQ4C6vBE64oZAU7ys4MZlgO+XpV80LfkL73Ap6LjUgJe+j2P5IapgtT/Pcf4ka28tKhY8ZyetX5Dz5HaLljmSuQCgOY=----ATTACHMENT:----ODg5ODYyMDY2NTA2OTYxNyAzMTkyMDAzMTc5OTQ3NjQ5IDgxMTc0MDA3MjIxMTgwNTI=