/**
  * Adding headers
  * @dataProvider addHeaderDataProvider
  */
 public function testAddRequestHeader(array $addHeadersSteps, array $expectedHeaders)
 {
     $this->given($httpClient = $this->mockHttpClient('http://verylastroom.com', 200))->and($sut = new SUT(null, null, $httpClient));
     foreach ($addHeadersSteps as $addHeadersStep) {
         foreach ($addHeadersStep as $headerName => $headerValue) {
             $this->and($sut->addRequestHeader($headerName, $headerValue));
         }
     }
     $this->array($sut->getRequestHeaders())->isIdenticalTo($expectedHeaders);
 }
 /**
  * @dataProvider requestDataProvider
  * @param string $url
  * @param array  $requestHeaders
  */
 public function test_get_request($url, array $requestHeaders)
 {
     // Given
     $mockHttpClient = $this->mockHttpClient('http://verylastroom.com', 200, array());
     $restApiContext = new SUT(null, null, $mockHttpClient);
     foreach ($requestHeaders as $requestHeaderKey => $requestHeaderValue) {
         $restApiContext->addRequestHeader($requestHeaderKey, $requestHeaderValue);
     }
     // When
     $restApiContext->sendRequest('GET', $url);
     // Then
     $request = $restApiContext->getRequest();
     $intersect = array_intersect_key($requestHeaders, $request->getHeaders());
     $this->array($requestHeaders)->isEqualTo($intersect);
 }