コード例 #1
0
        public void TestAddQueryNullableBool()
        {
            UriQueryStringBuilder uribuilder1 = new Uri("https://www.domain.tld/", UriKind.Absolute);
            UriQueryStringBuilder uribuilder2 = new Uri("/subpath/subsubpath/", UriKind.Relative);
            UriQueryStringBuilder uribuilder3 = new Uri("https://www.domain.tld/", UriKind.Absolute);
            UriQueryStringBuilder uribuilder4 = new Uri("/subpath/subsubpath/", UriKind.Relative);
            UriQueryStringBuilder uribuilder5 = new Uri("https://www.domain.tld/", UriKind.Absolute);
            UriQueryStringBuilder uribuilder6 = new Uri("/subpath/subsubpath/", UriKind.Relative);

            bool?boolvalue1 = true;
            bool?boolvalue2 = false;
            bool?boolvalue3 = null;

            UriQueryStringBuilder uribuilder1After = uribuilder1.AddQuery("boolvalue", boolvalue1);
            UriQueryStringBuilder uribuilder2After = uribuilder2.AddQuery("boolvalue", boolvalue1);
            UriQueryStringBuilder uribuilder3After = uribuilder3.AddQuery("boolvalue", boolvalue2);
            UriQueryStringBuilder uribuilder4After = uribuilder4.AddQuery("boolvalue", boolvalue2);
            UriQueryStringBuilder uribuilder5After = uribuilder5.AddQuery("boolvalue", boolvalue3);
            UriQueryStringBuilder uribuilder6After = uribuilder6.AddQuery("boolvalue", boolvalue3);

            Assert.Equal("https://www.domain.tld/?boolvalue=true", ((Uri)uribuilder1After).ToString());
            Assert.Equal("/subpath/subsubpath/?boolvalue=true", ((Uri)uribuilder2After).ToString());
            Assert.Equal("https://www.domain.tld/?boolvalue=false", ((Uri)uribuilder3After).ToString());
            Assert.Equal("/subpath/subsubpath/?boolvalue=false", ((Uri)uribuilder4After).ToString());
            Assert.Equal("https://www.domain.tld/", ((Uri)uribuilder5After).ToString());
            Assert.Equal("/subpath/subsubpath/", ((Uri)uribuilder6After).ToString());
        }
コード例 #2
0
        public void TestImplicitConversions(string uriString, UriKind kind)
        {
            Uri uriBefore = new Uri(uriString, kind);
            UriQueryStringBuilder builder = uriBefore;
            Uri uriAfter = builder;

            Assert.Equal(uriBefore, uriAfter);
            Assert.Equal(uriBefore.ToString(), uriAfter.ToString());
        }
コード例 #3
0
        public void TestAddQueryInt()
        {
            UriQueryStringBuilder uribuilder1 = new Uri("https://www.domain.tld/", UriKind.Absolute);
            UriQueryStringBuilder uribuilder2 = new Uri("/subpath/subsubpath/", UriKind.Relative);

            int intvalue = 23;

            UriQueryStringBuilder uribuilder1After = uribuilder1.AddQuery("intvalue", intvalue);
            UriQueryStringBuilder uribuilder2After = uribuilder2.AddQuery("intvalue", intvalue);

            Assert.Equal("https://www.domain.tld/?intvalue=23", ((Uri)uribuilder1After).ToString());
            Assert.Equal("/subpath/subsubpath/?intvalue=23", ((Uri)uribuilder2After).ToString());
        }
コード例 #4
0
        public void TestAddQueryString()
        {
            UriQueryStringBuilder uribuilder1 = new Uri("https://www.domain.tld/", UriKind.Absolute);
            UriQueryStringBuilder uribuilder2 = new Uri("/subpath/subsubpath/", UriKind.Relative);

            string strvalue = "foo";

            UriQueryStringBuilder uribuilder1After = uribuilder1.AddQuery("strvalue", strvalue);
            UriQueryStringBuilder uribuilder2After = uribuilder2.AddQuery("strvalue", strvalue);

            Assert.Equal("https://www.domain.tld/?strvalue=foo", ((Uri)uribuilder1After).ToString());
            Assert.Equal("/subpath/subsubpath/?strvalue=foo", ((Uri)uribuilder2After).ToString());
        }
コード例 #5
0
        public void TestAddQueryBool()
        {
            UriQueryStringBuilder uribuilder1 = new Uri("https://www.domain.tld/", UriKind.Absolute);
            UriQueryStringBuilder uribuilder2 = new Uri("/subpath/subsubpath/", UriKind.Relative);

            bool boolvalue = true;

            UriQueryStringBuilder uribuilder1After = uribuilder1.AddQuery("boolvalue", boolvalue);
            UriQueryStringBuilder uribuilder2After = uribuilder2.AddQuery("boolvalue", boolvalue);

            Assert.Equal("https://www.domain.tld/?boolvalue=true", ((Uri)uribuilder1After).ToString());
            Assert.Equal("/subpath/subsubpath/?boolvalue=true", ((Uri)uribuilder2After).ToString());
        }
コード例 #6
0
        public void TestAddQueryKeysVals()
        {
            UriQueryStringBuilder uribuilder1 = new Uri("https://www.domain.tld/", UriKind.Absolute);
            UriQueryStringBuilder uribuilder2 = new Uri("/subpath/subsubpath/", UriKind.Relative);

            List <KeyValuePair <string, string> > keysvals = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>("key1", "val1"),
                new KeyValuePair <string, string>("key2", "val2")
            };

            UriQueryStringBuilder uribuilder1After = uribuilder1.AddQuery("keysvals", keysvals);
            UriQueryStringBuilder uribuilder2After = uribuilder2.AddQuery("keysvals", keysvals);

            Assert.Equal("https://www.domain.tld/?keysvals=key1=val1;key2=val2", ((Uri)uribuilder1After).ToString());
            Assert.Equal("/subpath/subsubpath/?keysvals=key1=val1;key2=val2", ((Uri)uribuilder2After).ToString());
        }