/**
  * @test
  * @depends URI\GenerateTest::Reset
  */
 public function Query_Replace()
 {
     // Test both when there is and isn't pre-existing data
     $uri1 = new \uri('example.com');
     $uri2 = new \uri('https://*****:*****@example.com:777/path/to/script.php?query=str#fragment');
     // Check For Errors
     $this->assertEmpty($uri1->error);
     $this->assertEmpty($uri2->error);
     $this->assertNull($uri1->query_replace('a', 'b'));
     $this->assertEquals('example.com?a=b', $uri1->str());
     $this->assertNull($uri1->query_replace('a', 'c'));
     $this->assertEquals('example.com?a=c', $uri1->str());
     $this->assertNull($uri2->query_replace('query', 'abc'));
     $this->assertEquals('https://*****:*****@example.com:777/path/to/script.php?query=abc#fragment', $uri2->str());
 }