/**
  * @depends testProtocol
  * @depends testDomain
  * @depends testGraphVersion
  * @depends testPath
  * @depends testQueryParams
  */
 public function testUrl()
 {
     $client = $this->createClientMock();
     $client->method('getDefaultGraphBaseDomain')->willReturn(Client::DEFAULT_GRAPH_BASE_DOMAIN);
     $request = new Request($client);
     $request->setGraphVersion('2.2');
     $request->setPath('/node/edge');
     $url = $request->getUrl();
     $this->assertEquals(parse_url($url, PHP_URL_SCHEME) . '://', $request->getProtocol());
     $this->assertEquals(parse_url($url, PHP_URL_HOST), $request->getDomain());
     $this->assertEquals(parse_url($url, PHP_URL_PATH), sprintf("/v%s%s", $request->getGraphVersion(), $request->getPath()));
     $this->assertNull(parse_url($url, PHP_URL_QUERY));
     // With query
     $request->setQueryParams(new Parameters(array('sdk' => 'PHP')));
     $url = $request->getUrl();
     $parsed_query = Util::parseUrlQuery(parse_url($url, PHP_URL_QUERY));
     $this->assertEquals($parsed_query, $request->getQueryParams()->getArrayCopy());
 }