/**
  * Test method for the <tt>getApplication()</tt> and <tt>setApplication($application)</tt> functions.
  */
 public function testGetSetApplication()
 {
     $registerDeviceRequest = new RegisterDeviceRequest();
     $this->assertNull($registerDeviceRequest->getApplication());
     $registerDeviceRequest->setApplication('APPLICATION');
     $this->assertEquals('APPLICATION', $registerDeviceRequest->getApplication());
 }
 /**
  * {@inheritDoc}
  */
 public function registerDevice(RegisterDeviceRequest $registerDeviceRequest)
 {
     // If the 'application' attribute is not set in the request we try to get a default one from the Pushwoosh
     // client
     if ($registerDeviceRequest->getApplication() === null) {
         // The 'application' must be set
         if (!isset($this->application)) {
             throw new PushwooshException('The  \'application\' property is not set !');
         }
         $registerDeviceRequest->setApplication($this->application);
     }
     $response = $this->cURLClient->pushwooshCall('registerDevice', $registerDeviceRequest->jsonSerialize());
     return RegisterDeviceResponse::create($response);
 }