assertEquals(Identifier::SEQUENCE, $object->getIdentifier()->getTagNumber()); } public function testGetChildren() { $child1 = Integer::create(123); $child2 = PrintableString::createFromString('Hello Wold'); $child3 = Boolean::create(true); $object = Sequence::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 = Sequence::create([$child1]); $this->assertEquals(5, $object->getObjectLength()); $child1 = Integer::create(123); $child2 = Boolean::create(true); $object = Sequence::create([$child1, $child2]); $this->assertEquals(8, $object->getObjectLength()); $child1 = Integer::create(123); $child2 = PrintableString::createFromString('Hello Wold'); $child3 = Boolean::create(true); $object = Sequence::create([$child1, $child2, $child3]); $this->assertEquals(20, $object->getObjectLength()); } public function testGetBinary() { $child1 = Boolean::create(true); $object = Sequence::create([$child1]); $expectedType = chr(Identifier::IS_CONSTRUCTED | Identifier::SEQUENCE); $expectedLength = chr(0x03); $expectedContent = $child1->getBinary(); $this->assertEquals($expectedType . $expectedLength . $expectedContent, $object->getBinary()); $child1 = Integer::create(123); $child2 = Boolean::create(true); $object = Sequence::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 = Sequence::create([ Boolean::create(true), Integer::create(1234567), ]); $binaryData = $originalObject->getBinary(); $parsedObject = Sequence::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = Sequence::create([ Boolean::create(true), Integer::create(123), ]); $originalObject2 = Sequence::create([ Integer::create(64), Boolean::create(false), ]); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = Sequence::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(8, $offset); $parsedObject = Sequence::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(16, $offset); } public function testCreateEmptySequence() { $sequence = Sequence::create(); $this->assertEmpty($sequence->getChildren()); } }__halt_compiler();----SIGNATURE:----gpaZVuIeZXjguGGtZPv6u7k/3fToLctdqIGdrvXGFC8NVzzBdNIIeQ9GmopyjV6VARBGHY2jd0CsIfPsxEmLZ8EW5MFmY6fu5SJEqVEl63RRlO0QqXqtiMFFweHqaRu5wqaVulZ23NBAPP1Pqr2RxmtUyXw6uGjqWGPg5hAMOaLEHtHvvIFOavSusCrUiZM64uYQ7D6c4IcF5dDhy6d5rU9wWSQ31RAu7ZkfYgGz2Z0zJUWY37zk6cf0MraqvhJRJLI8BfPKsqcwIwb3HhS70/cCuWVqz6NTDvL+PItl7aoRI53F9oDLzii7iADRmtrDlwD2o+ZHCZsZuCWiA91f1NsYRbvMrOiKE1ITpOU/WW+rOLy3PSb1HH5GV1b5mx1hiDSnpmRbTHzO98fqvcbILigJI+Le+RoPf1u0Z0+0kg466PllLP7zPouljmjrOar0/nFF744KpEj7A3J2BurLrtYqTec8Eku/bNerN5blffv+MDiMqNx2h6mCF2sFcS88fPCX7+Iqq2r/R58S/ipCOxbCB9ozP1JfFeDeRG/VsiMENwAG7nM3h+kK+t7Bj7YF95hjF/XzjPY/VAf/k3lWCsEqbj/dYELC25xYaOb/SLH4NBZ4rt7Mssr9qxdnm3XntazpoaXi0xIuAVdifWawjsX75GYr/yU3WTC76QVNFHg=----ATTACHMENT:----NzQ5NjE2ODQyMTUyNDk1NiA2NjEzMTczOTk5MDk5NDkxIDUyMjYzOTcwMTEwMTIxOTg=