/**
  * Test json serialization
  *
  * @return void
  */
 public function testJsonSerialization()
 {
     $message = 'Message';
     $statusCode = 1000;
     $code = 1000;
     $data = ['some' => ['nested' => 'data']];
     /** @var ResponseBaseException $exception */
     $exception = new ResponseBaseException($statusCode, $message, $code);
     $exception->setData($data);
     $jsonObject = json_encode($exception, JSON_NUMERIC_CHECK);
     $exceptionObject = json_decode($jsonObject, TRUE);
     $this->assertSame($exceptionObject['code'], $code);
     $this->assertSame($exceptionObject['message'], $message);
     $this->assertSame($exceptionObject['exception'], get_class($exception));
     $this->assertSame($exceptionObject['data'], $data);
 }
 /**
  * Constructor for new instance of the exception.
  *
  * @param string $message
  * @param integer $code
  * @param \Exception $previous
  */
 public function __construct($message = 'Missing method parameter', $code = 1443530041, $previous = NULL)
 {
     parent::__construct(self::DEFAULT_STATUS_CODE, $message, $code, $previous);
 }
 /**
  * Constructor for new instance of the exception.
  *
  * @param string $message
  * @param integer $code
  * @param \Exception $previous
  */
 public function __construct($message = 'Method parameter has wrong type', $code = 1443530132, $previous = NULL)
 {
     parent::__construct(self::DEFAULT_STATUS_CODE, $message, $code, $previous);
 }