Presenting UriHelper

Adding parameters to an Uri is an example where my NameValueCollectionHelper comes in handy. Although UriTemplate allows us to bind parameters, it doesn’t really support add/remove/fail on duplicate parameters. Here is an example:

[TestMethod]
public void TestAddParametersReplaceWithReplaceOfExistingParameters()
{
 Uri originalUri = new Uri("http://www.example.com/path/?key1=val1&key2=val2#abcd")

 NameValueCollection parameters = new NameValueCollection();
 parameters.Add("key1", "newval");
 parameters.Add("key3", "val3");

 Uri expected = new Uri("http://www.example.com/path/?key1=newval&key2=val2&key3=val3#abcd");

 Uri actual = UriHelper.AddParameters(originalUri, parameters, DuplicateKeyBehavior.Replace);
 Assert.AreEqual(expected, actual);
}

Once again, source of this class can be found at BeTimvwFramework.

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>