/** @dataProvider provideEntityEnclosingInterfaceMethods */
 public function testEntityEnclosingInterfaceMethods($method, array $params = [])
 {
     $this->wrappedEntityEnclosingRequest->expects($this->once())->method($method)->will($this->returnValue('ENTITY_ENCL_REQ'))->getMatcher()->parametersMatcher = new ParametersMatcher($params);
     $this->assertSame('ENTITY_ENCL_REQ', call_user_func_array([$this->unifiedEnclosingEntityRequest, $method], $params));
     $this->wrappedRequest->expects($this->any())->method('getMethod')->will($this->returnValue('METHOD'));
     $this->wrappedRequest->expects($this->any())->method('getPath')->will($this->returnValue('/foo'));
     $this->setExpectedException('BadMethodCallException', sprintf('Cannot call method "%s" on a request that does not enclose an entity. Did you expect a POST/PUT request instead of METHOD /foo?', $method));
     call_user_func_array([$this->unifiedRequest, $method], $params);
 }