assertEquals(Identifier::SET, $object->getIdentifier()->getTagNumber()); } public function testContent() { $child1 = Integer::create(123); $child2 = PrintableString::createFromString('Hello Wold'); $child3 = Boolean::create(true); $object = Set::create([$child1, $child2, $child3]); $this->assertEquals([$child1, $child2, $child3], $object->getChildren()); $this->assertEquals( $child1->getBinary() . $child2->getBinary() . $child3->getBinary(), $object->getBinaryContent() ); } public function testGetObjectLength() { $child1 = Boolean::create(true); $object = Set::create([$child1]); $this->assertEquals(5, $object->getObjectLength()); $child1 = Integer::create(123); $child2 = Boolean::create(true); $object = Set::create([$child1, $child2]); $this->assertEquals(8, $object->getObjectLength()); $child1 = Integer::create(123); $child2 = PrintableString::createFromString('Hello Wold'); $child3 = Boolean::create(true); $object = Set::create([$child1, $child2, $child3]); $this->assertEquals(20, $object->getObjectLength()); } public function testGetBinary() { $child1 = Boolean::create(true); $object = Set::create([$child1]); $expectedType = chr(Identifier::IS_CONSTRUCTED | Identifier::SET); $expectedLength = chr(0x03); $expectedContent = $child1->getBinary(); $this->assertEquals($expectedType . $expectedLength . $expectedContent, $object->getBinary()); $child1 = Integer::create(123); $child2 = Boolean::create(true); $object = Set::create([$child1, $child2]); $expectedLength = chr(0x06); $expectedContent = $child1->getBinary(); $expectedContent .= $child2->getBinary(); $this->assertEquals($expectedType . $expectedLength . $expectedContent, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = Set::create([ Boolean::create(true), Integer::create(1234567) ]); $binaryData = $originalObject->getBinary(); $parsedObject = Set::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } public function testFromBinaryWithOffset() { $originalObject1 = Set::create([ Boolean::create(true), Integer::create(123) ]); $originalObject2 = Set::create([ Integer::create(64), Boolean::create(false) ]); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = Set::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(8, $offset); $parsedObject = Set::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(16, $offset); } }__halt_compiler();----SIGNATURE:----IDqYckaqd8qeamzF9Gq0qEMfIzoT8zay4I+gIdJi2kqS0N3jAPF6vulmueDmBEUCr85wJ4PDzAjF8p5RQ6/3a15QAUgobRw7s4t+IwcVvpj9pyyDeJuzmtXb5Rn6CYSlRa6oXDidh8XJhwkRzXzSqqCpDz0+NkbGjmbx8nwC0Vv2tKDWv3c9y59zz7/i8KTW8zw2U46cB48d/RA+0g8qUa31prYOJ9makkkWgxGPWESvltaFgm566Kqgj7g/4X7SULJLK/edWhz2eHeNAMKqx3/yQU/9eWOYpbgfuirbkT+Wju8KzFzllk/+PMsv3lPkqrziPR0YB3ZREuq2MlpqwLmwWoWMSmc8v4+/zPP5X18Q8wwq/WeBgn0tlbuKwwxLuvgCzvEjifh87LJJVbSmdpAwDQfdAfh1SNi/iDyxaunK/f9vzWCgfI3uPVtnDrw1iKGZHWVLHyuUagy4R0HSdChleOxZj9UCmYjob93GrTFaYqHr6u5mxclmafmGtHJTRvT5sgZ1d+z6lm70OY5lBSeZZUwOT5iFC0QCeaPaPi7mcWRJd2/oCT8hQsmQTWrc1Zi9WJewBT+oRPUu+4bvHKfoJJZ/4S9tVWu4d3YM9yNwiR+SxU78jO45bNDtCtV6QI+Q7BVj2rxyPu0H92M/zN3m0aTj5T0+a91M2v9grfk=----ATTACHMENT:----MTA5NTYzOTgxNzE2MDkzMCAxNjU3MzkxMzIzMjE1ODU4IDU1MjY4ODMyMjM1NTM0OA==