public function testCallingSettersRetainsOriginalRequest()
{
$url = 'http://example.com/foo';
$baseRequest = new PsrRequest([], [], $url, 'GET', 'php://memory');
$request = new Request($baseRequest);
$request = $request->withMethod('POST');
$new = $request->withAddedHeader('X-Foo', 'Bar');
$this->assertNotSame($request, $new);
$this->assertNotSame($baseRequest, $new);
$this->assertNotSame($baseRequest, $new->getCurrentRequest());
$this->assertSame($baseRequest, $new->getOriginalRequest());
}