assertEquals(Identifier::GENERAL_STRING, $object->getIdentifier()->getTagNumber()); } public function testGetStringValue() { $object = GeneralString::createFromString('Hello World'); $this->assertEquals('Hello World', (string) $object); $object = GeneralString::createFromString(''); $this->assertEquals('', (string) $object); $object = GeneralString::createFromString(' '); $this->assertEquals(' ', (string) $object); } public function testGetObjectLength() { $string = 'Hello World'; $object = GeneralString::createFromString($string); $expectedSize = 2 + strlen($string); $this->assertEquals($expectedSize, $object->getObjectLength()); } public function testGetBinary() { $string = 'Hello World'; $expectedType = chr(Identifier::GENERAL_STRING); $expectedLength = chr(strlen($string)); $object = GeneralString::createFromString($string, ['lengthForm' => ContentLength::LONG_FORM]); $this->assertSame($expectedType.$expectedLength.$string, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = GeneralString::createFromString('Hello World'); $binaryData = $originalObject->getBinary(); $parsedObject = GeneralString::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = GeneralString::createFromString('Hello ', ['lengthForm' => ContentLength::SHORT_FORM]); $originalObject2 = GeneralString::createFromString(' World', ['lengthForm' => ContentLength::SHORT_FORM]); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = GeneralString::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(8, $offset); $parsedObject = GeneralString::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(16, $offset); } }__halt_compiler();----SIGNATURE:----0FodCooGKD4OFoaPIcEjj6FoAIwbBG/tiI6CcIJ3WSr4eSkWwQ/AhS4C7sUY7FtQDdM5GQFyaORuphGPann89IZXWqaM1uxWYuUAqsPH8AjqM4Ryaz0Eunhl+dYSlIjY/mc47u9Pz9ipu0Cha3uhP9jR1q3JmK+kfS3ZWdlIneSvray/Tu4NULKYzSYdoT+lKSYfGh3azl4QGDR2WNoZormorC4pj/MkNRffJC7Bw0Rfw7ydrkUsev48Q0qNW7Bj4g4vV1NLMEbCaiShUhvR74t0qhJ0+4G1tJxbIZ+Yb5N68743eioARV2sKPKD88rdSRyaXJZXZse3IH/O820k5yntfRzdmkUIRPQiWcGSS/AkUbL3ACOF211WIi64fJD5rvQTLyXWWIMZhYfTQw2z5LK/3HF/mZO8V4N9+L/7gKhj/raRb7eaewu6aZ0sqNC0p+4Hz6Ol+bA/QxLR/ujNFxwa0Dbo0/pGngvsd/PAb4YFAPijP4V1pHqZzW4q64ROJvqzZKt4BWrNU+hHqljZhEaOYmLkkreDuLL/9CP0IjafpssczG3NM+sKHo3MxYfTESGfF0FFTa0ctuhxpJOU/z0IngGgwUMdyhlr0oyciRelZsj7gjoYV3Wh28fkTS5ANE7TWiHIAWM1pN5X0zf6qn12LweA3sdKQ+Yr2a+kqIs=----ATTACHMENT:----NjU5NDc1MzM1MTE1Mzg5OSA3NzI5OTYxMjA4NDcyOTc1IDY5MDg2MTc5ODkyMjM0OA==