/**
  * @dataProvider providerPayloadFactory
  */
 public function testPayloadFactory($identifier, $expires, $token, $body)
 {
     $message = new Message();
     $message->setIdentifier($identifier)->setExpires($expires)->setDeviceToken($token)->setBody($body);
     $payload = new PayloadFactory();
     $this->assertNotNull($payload->createPayload($message));
     $jsonData = json_encode($message->getPayloadData(), JSON_FORCE_OBJECT);
     $payloadEqData = pack('CNNnH*', 1, $identifier, $expires->format('U'), 32, $token) . pack('n', mb_strlen($jsonData)) . $jsonData;
     $this->assertEquals($payloadEqData, $payload->createPayload($message));
 }