setName('example.com.'); $q->setType('NS'); $q->setClass('IN'); $expectation = chr(7).'example'.chr(3).'com'.chr(0).pack('nn', 2, 1); $this->assertEquals($expectation, $q->toWire()); } public function testSetClassThrowsException(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Invalid class: "65536".'); $q = new Question(); $q->setClassId(65536); } public function testSetNameThrowsException(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('"abc123.com" is not a fully qualified domain name.'); $q = new Question(); $q->setName('abc123.com'); } public function testFromWire(): void { $wireFormat = chr(7).'example'.chr(3).'com'.chr(0).pack('nn', 2, 1); $q = Question::fromWire($wireFormat); $this->assertEquals('example.com.', $q->getName()); $this->assertEquals('NS', $q->getType()); $this->assertEquals('IN', $q->getClass()); } public function testSetTypeCodeThrowsException(): void { $this->expectException(\DomainException::class); $this->expectExceptionMessage('TypeCode must be an unsigned 16-bit integer. "65536" given.'); $q = new Question(); $q->setTypeCode(65536); } }__halt_compiler();----SIGNATURE:----nHWopp3EjW+LKysJvwjgPoQqHy1Z4Gt52VFzOhEI25oNiMlNAflegngj2hNT/LnQDNO9q3/orkf02biPacGB/JTFjPx1kGmngxkiqM3al2nD4funb5gfs0AJ4wC/1HM25acgsXPtsVafR4EUOt/Sf3Nmo9AeSg/ZOoq/Ad+DL500U5CSfxJd/7Y/oG1bm6fn+Sj5bp5R6SGvcmylxHRh3rnejUkBtHa9dpSk2wecRTrYuNIi26zfnWaehfQieIRWRMlCv37vhhjD0rWPZiLKD/g7TXa4HaE1vSFghXJmJzjb3CNv7z4fUmDZmqDqllTOjYB1guYu5mxAE3jFNY4AXCI3eK61BBX4TRAnCMOyyQNBjwN8Hy2lshSwghZUShYvGHidCxYestsRnT+H/sW9qaODN1PUrZfLZzvOWAzWbYO1bJUdoQlmPqShNS+J9vehp25kVu+RxwopHbaO9LYOmGWkx4q3tnxCf2vVDRSAvQO7Mw3V3ahuAIY2CxV860gLVFHYo6Q65XbOeeNZAaRFjQyxR9SSUy3cZJKfbpj79+i6E1hTrK92m72e/iJhwXngC/f+7zxHso5GmPHlCq+C6Kn+WoshKAbAYFf0on02IGMwL64nJEpzdmchbaI323dwCYC8aghW544UwjuR0ZGvs5mI7vNUIqZaQZu6ZOq/sNk=----ATTACHMENT:----NDY3MTMxNzM5NTMzMDIzOSA2NzQ1NDkxODU2OTM2NzEzIDU1OTgxMTg3ODIxNjQ5Nzg=