public void GetParam()
        {
            var urlBuilder = new FFLib.UrlBuilder();
            urlBuilder.Parse("https://www.google.com");
            urlBuilder.SetQueryParam("key1", "value string");

            Assert.AreEqual("value string", urlBuilder.GetQueryParam("key1"));

            urlBuilder.SetQueryParam("key2", "value+&+string");

            Assert.AreEqual("value+&+string", urlBuilder.GetQueryParam("key2"));

            urlBuilder.Parse("https://www.google.com?key1=value+string&key2=value%2b%26%2bstring");
            Assert.AreEqual("value+&+string", urlBuilder.GetQueryParam("key2"));

            urlBuilder.SetQueryParam("key3", "some_other_value");
            Assert.AreEqual("value+&+string", urlBuilder.GetQueryParam("key2"));
        }
        public void SetParam()
        {
            var urlBuilder = new FFLib.UrlBuilder();
            urlBuilder.Parse("https://www.google.com");
            urlBuilder.SetQueryParam("key1", "value string");

            Assert.AreEqual("key1=value+string",urlBuilder.Query);

            urlBuilder.SetQueryParam("key2", "value+&+string");

            Assert.AreEqual("key1=value+string&key2=value%2b%26%2bstring", urlBuilder.Query);

            urlBuilder.Parse("https://www.google.com");
            urlBuilder.SetQueryParam("key1", "value string");
            urlBuilder.SetQueryParam("key2", "value+&+string");
            Assert.AreEqual("https://www.google.com?key1=value+string&key2=value%2b%26%2bstring", urlBuilder.ToString());

            urlBuilder.Parse("https://www.google.com/path/page.html#anchor");
            urlBuilder.SetQueryParam("key1", "value string");
            urlBuilder.SetQueryParam("key2", "value+&+string");
            Assert.AreEqual("https://www.google.com/path/page.html?key1=value+string&key2=value%2b%26%2bstring#anchor", urlBuilder.ToString());
        }