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:----VFIAKEkZeNdn93pB2yvwZJ/Mt0qOBg8ID5NmazLaA9KdhSE3tYDXKHdjKEADp0TllM1zRHn6C6lnANoOz3pFRooL+ahmgn2ewIIkdSPWTKs8jAxmg9gL9R54ZsELTdsKpcoiqqZIV//layBPweQ4+zuMpTDEuNPz2roK2o5vBKSgSjif8O5t1wfEq7Fm8ADqUGAC2wEiVvl7V/ff/ZLQrDz4CmLA3MihkuO8OFAAV90zaGkjShNpBKHlWfit01chXA/jlsN/1nmlgsNpRKPAtlCYZDxsv0r+nTY302bvO6jLUVSOsNvpkVFX4qASHL/yndUMvop6gldGtu+dONs1pk5XalkV4C8B/shN1/Ya2MQ8vPo5bjXltyJ8F6JndbjxDZrNfpiF63vQjSoLxNCEGAxExJBjTs6zSiXcWPFkxwDkLtz6yBLU2h6Wwh5+w18BKUbx09nuvVlQCqOyCv1JLjU+NulOWsoQRRYZj/jT0NYfsDMLUBPjeBOw9lE/Cck57Qwwhup9YIO2GzWYJIQDUmgOoGO33mU3wbOdLzhuiWikX0TGECdfr4UiSZTEZy0Jq5ylgzSXAXanghJSMszVVbmKVcaTPsLxSyPhM9k+9OUEeXm7j1oN8dM/GCdnDyklFVe9pRGL1G9jiC/C2LXDDDUYDZvkbT2sbWAx9wUk4nU=----ATTACHMENT:----NzgxNzg0Mzg0NDg4NzU2NCAyOTY3MTI2MDAzNDE3NTgzIDI4MTgxMTg4NDI4MzMwNTU=