public void TestParams() { string testUrl = "tcp://*****:*****@127.0.0.1:4001/myUri"; URL url = new URL(testUrl); Assert.IsFalse(url.HasParams()); Assert.AreEqual(0, url.GetParams().Length); Assert.IsNull(url.GetParam("PARAM1=")); testUrl = "tcp://*****:*****@127.0.0.1:4001/cuae;PARAM1=1;PARAM2=2"; url = new URL(testUrl); Assert.IsTrue(url.HasParams()); Assert.AreEqual("PARAM1=1", url.GetParam("PARAM1")); Assert.AreEqual("PARAM2=2", url.GetParam("PARAM2")); // get iterator over params string[] p = url.GetParams(); Assert.AreEqual(2, p.Length); Assert.IsTrue(Find("PARAM1=1", p)); Assert.IsTrue(Find("PARAM2=2", p)); // add a new param url.AddParam("0123456789"); Assert.AreEqual("0123456789", url.GetParam("0123")); p = url.GetParams(); Assert.AreEqual(3, p.Length); Assert.IsTrue(Find("PARAM1=1", p)); Assert.IsTrue(Find("PARAM2=2", p)); Assert.IsTrue(Find("0123456789", p)); // remove a param Assert.AreEqual("PARAM1=1", url.RemoveParam("PARAM1")); Assert.IsNull(url.GetParam("PARAM1=")); p = url.GetParams(); Assert.AreEqual(2, p.Length); Assert.IsTrue(Find("PARAM2=2", p)); Assert.IsTrue(Find("0123456789", p)); // clear all params url.ClearParams(); Assert.IsFalse(url.HasParams()); }