public void TestCreateRemainingUriComposite()
{
string uriStringNoParams = "failover:tcp://localhost:61616";
string uriStringWithParams = "failover:tcp://localhost:61616?param1=true¶m2=false";
Uri uriNoParams = new Uri(uriStringNoParams);
Uri uriWithParams = new Uri(uriStringWithParams);
Uri result = URISupport.CreateRemainingUri(uriNoParams, null);
Assert.AreEqual(uriStringNoParams, result.OriginalString);
result = URISupport.CreateRemainingUri(uriWithParams, null);
Assert.AreEqual(uriStringNoParams, result.OriginalString);
StringDictionary parameters = new StringDictionary();
parameters.Add("param1", "true");
parameters.Add("param2", "false");
result = URISupport.CreateRemainingUri(uriNoParams, parameters);
Assert.AreEqual(uriWithParams, result.OriginalString);
// Now test a Comopsoite with parends.
uriStringNoParams = "failover:(tcp://localhost:61616)";
uriStringWithParams = "failover:(tcp://localhost:61616?param1=true¶m2=false)";
uriNoParams = new Uri(uriStringNoParams);
uriWithParams = new Uri(uriStringWithParams);
result = URISupport.CreateRemainingUri(uriNoParams, null);
Assert.AreEqual(uriStringNoParams, result.OriginalString);
result = URISupport.CreateRemainingUri(uriWithParams, null);
Assert.AreNotEqual(uriStringNoParams, result.OriginalString);
result = URISupport.CreateRemainingUri(uriNoParams, parameters);
Assert.AreNotEqual(uriWithParams, result.OriginalString);
string queryString = URISupport.CreateQueryString(parameters);
Assert.AreEqual(uriNoParams.OriginalString + "?" + queryString, result.OriginalString);
}