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()); }
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()); }
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()); }
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()); }
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()); }
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()); }