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:----Pnsrb5wMTPyYHobL9iJhQLP02y8D3jZp/9fCzOODYHKu8XxuCDSY/lD639Oh7VhdYag8j4OfHpI0IQTSFTyLaYj+9ekh7oCSbqX1RCdt7NeFw5n6+U80DysJJ+hL0pTlyjAzD7JFWLMysiZRJNQEHxMceSo2T42czkVhyGpw1mjdxnlLUaiG70bCm1S0mBxLpu1tLuFRkYIsdB344xXmB10vOXF+sCh8ChhxkqGPwxFOGK290EZBSUmvvXEXrxo9ZGsn/3RTM2M0kizenkxVZcMmyzq02UiKS7wYbBdoQaAO3mmCABbwQ3hx8gnn2kjuqBmEhHFH3+/rVzAcCZEJAkXKc7yQzpLRD6FMCvYdvBiwl4iSVSB8LtElAOz4wFQFlqc1wJk/nFjUj3Gx6ny55b/bFNmfqEJyU87HkOgDBA7BLUZkz5goHKJDWkn78BR7moZhv4tJBuKJvNnDhIss7XVvjxoaz+eDEKNjcYqjIuJwNkZuoHr8zn8Ckdk8VbpXFhqzrluEgHzWUsH/CiHvQ6PTAE2Ch8vU5lnPPbwE/6ac9sYiiygEAgb58zbpmAbb1GUV2ufwfvdm60Togz68Oz2FaQQYYunE2Hi7axpjx17OQGJiEEkftCg7eZMs+Z5N3tuVezPnrYnYrpLdIVC3O0nOn2Fahpveh2TlCPYdGzs=----ATTACHMENT:----OTE0OTY4NzU3ODUzMzc4OSA4NDg4MDQ2NTc2NTYyMDcwIDc1NDU3MjQ1Mjg5MTMwOTA=