assertEquals(Identifier::VISIBLE_STRING, $object->getIdentifier()->getTagNumber()); } public function testContent() { $object = VisibleString::createFromString('Hello World'); $this->assertEquals('Hello World', (string) $object); $object = VisibleString::createFromString(''); $this->assertEquals('', (string) $object); $object = VisibleString::createFromString(' '); $this->assertEquals(' ', (string) $object); } public function testGetObjectLength() { $string = 'Hello World'; $object = VisibleString::createFromString($string); $expectedSize = 2 + strlen($string); $this->assertEquals($expectedSize, $object->getObjectLength()); } public function testGetBinary() { $string = 'Hello World'; $expectedType = chr(Identifier::VISIBLE_STRING); $expectedLength = chr(strlen($string)); $object = VisibleString::createFromString($string); $this->assertEquals($expectedType.$expectedLength.$string, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = VisibleString::createFromString('Hello World'); $binaryData = $originalObject->getBinary(); $parsedObject = VisibleString::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = VisibleString::createFromString('Hello '); $originalObject2 = VisibleString::createFromString(' World'); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = VisibleString::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(8, $offset); $parsedObject = VisibleString::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(16, $offset); } }__halt_compiler();----SIGNATURE:----TLRN8y9Zas4vJQ9Vrjx95UUzYDjWEPGTFk+zn8/pwm+6aRSXY+MqFkIKNgUK+2T5Kgfy4WkoPu6H+1EpAg/NtFh8n++3o8W7jVv+gbfacCsy8zJwm4RX5r1llUkXDNAJ/1bD61FM0C1Ovrb9eHnttrQy505nAcy8J4uYUdUCRk5m0K8OjVPkg+5pKqJwGOeBVvqfqz0Tbnc/qrEY7PyPvbYttd0suPwozFbXo57HjNkkV2hR8MilnQSZPTLspVEsQjg/6xG8Ca7KRJ7tWMvk5llKamLD5cxWajTLyxV2EmDd5XvsIxhPrjAVb7JPiEuS4iu0//rH/4TF19m73pfWCze60Vdj4zGJlOJ7KY72zKBu9SRizAMvX1mGpDYlGo4XAW7p+0PDybk/LeD/nqCh7YM/RSCDbkYoZAJpktWJxBUaoCLitLYBzD+tsoBHlHNA96hF7wL1DiO7CK1hr1DJ/ISXaGlPSuq8Ctw+1tKmo87VaRNGfsjbW3Wec/Ok1/HRrWtzIL34ouOCYJzwwe0Fa/yR0q9COssWtKL4B/yLI373rOMcJBfiwvswWkjcxqTuO9JGeICy9bKzI/Z9fZp6lBYdMnaMJQH8SXyOc0hDihSaFfv5ile/jebuz1HmF+lmHgOiJoZs6jt+0FM2N7gahQLAK5Qt5NBQLjK4BAOAwRU=----ATTACHMENT:----OTE3MDY0NzE2NjI5NjM4NiA2ODIwNjAxMjY1MjAxODM4IDU0MjQwNTM3OTQzNzAzNTg=