/**
  * Fetches data from service
  *
  * @return array
  */
 protected function fetch()
 {
     try {
         $data = $this->adapter->fetchStatistic($this->pm->getInstalledPackages());
     } catch (\Exception $e) {
         $data = [];
     }
     return $data;
 }
 /**
  * @dataProvider statisticProvider
  *
  * @param array $expectedResult
  * @param array $fetchedData
  * @param int   $code
  * @param bool  $exceptionExpected
  */
 public function testFetchStatistic($expectedResult, $fetchedData, $code = Codes::HTTP_OK, $exceptionExpected = false)
 {
     $this->client->expects($this->once())->method('createRequest')->will($this->returnValue($this->request));
     $this->request->expects($this->once())->method('send')->will($this->returnValue($this->response));
     $this->request->expects($this->any())->method('getQuery')->will($this->returnValue($this->query));
     $this->response->expects($this->once())->method('getStatusCode')->will($this->returnValue(200));
     $this->response->expects($this->once())->method('json')->will($this->returnValue($fetchedData));
     if ($exceptionExpected) {
         $this->setExpectedException($exceptionExpected);
     }
     $result = $this->adapter->fetchStatistic();
     $this->assertEquals($expectedResult, $result);
 }