Exemple #1
0
        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());
        }