/**
  * Test population of each request type
  *
  * @dataProvider provideRequestTypes
  *
  * @param string $requestType
  */
 public function testRequestHydration($requestType)
 {
     $client = $this->getMockClient();
     $request = $client::request($requestType);
     $this->assertInstanceOf(AbstractRequest::ns() . "\\{$requestType}", $request);
     $hydrator = $request->getHydrator();
     $data = $hydrator->extract($request);
     foreach ($data as &$value) {
         $value = ' ';
     }
     $request = $hydrator->hydrate($data, $request);
     $idempotentData = $hydrator->extract($request);
     $this->assertEquals($data, $idempotentData);
 }
 /**
  * Instantiate a request object of the given type
  *
  * @static
  * @param  string $type Request type
  * @return mixed  Request object
  */
 public static function request($type)
 {
     $requestClass = AbstractRequest::ns() . "\\{$type}";
     return new $requestClass();
 }