public void RequestParametersTest()
        {
            const string ClientId             = "client_id";
            const string AdditionalParameter  = "additional_parameter";
            const string AdditionalParameter2 = "additional_parameter2";
            string       expectedString       = string.Format(CultureInfo.CurrentCulture, "client_id=client_id&{0}={1}&{2}={3}", AdditionalParameter, EncodingHelper.UrlEncode(ComplexString), AdditionalParameter2, EncodingHelper.UrlEncode(ComplexString2));

            var param = new DictionaryRequestParameters(null, new ClientKey(ClientId));

            param[AdditionalParameter]  = ComplexString;
            param[AdditionalParameter2] = ComplexString2;
            Assert.AreEqual(expectedString, param.ToString());

            param = new DictionaryRequestParameters(null, new ClientKey(ClientId));
            param[AdditionalParameter]  = ComplexString;
            param[AdditionalParameter2] = ComplexString2;
            Assert.AreEqual(expectedString, param.ToString());

            param = new DictionaryRequestParameters(null, new ClientKey(ClientId));
            param[AdditionalParameter]  = ComplexString;
            param[AdditionalParameter2] = ComplexString2;
            Assert.AreEqual(expectedString, param.ToString());

            var stringParam = new StringRequestParameters(new StringBuilder(expectedString));

            Assert.AreEqual(expectedString, stringParam.ToString());
        }
        public void RequestParametersTest()
        {
            const string ClientId = "client_id";
            const string AdditionalParameter = "additional_parameter";
            const string AdditionalParameter2 = "additional_parameter2";
            string expectedString = string.Format("client_id=client_id&{0}={1}&{2}={3}", AdditionalParameter, EncodingHelper.UrlEncode(ComplexString), AdditionalParameter2, EncodingHelper.UrlEncode(ComplexString2));

            var param = new DictionaryRequestParameters(null, new ClientKey(ClientId));
            param[AdditionalParameter] = ComplexString;
            param[AdditionalParameter2] = ComplexString2;
            Verify.AreEqual(expectedString, param.ToString());

            param = new DictionaryRequestParameters(null, new ClientKey(ClientId));
            param[AdditionalParameter] = ComplexString;
            param[AdditionalParameter2] = ComplexString2;
            Verify.AreEqual(expectedString, param.ToString());

            param = new DictionaryRequestParameters(null, new ClientKey(ClientId));
            param[AdditionalParameter] = ComplexString;
            param[AdditionalParameter2] = ComplexString2;
            Verify.AreEqual(expectedString, param.ToString());

            var stringParam = new StringRequestParameters(new StringBuilder(expectedString));
            Verify.AreEqual(expectedString, stringParam.ToString());
        }