Beispiel #1
0
        public void MultipleExpandVarArgs()
        {
            UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");
            Uri         result   = template.Expand("2", 21);

            result = template.Expand(1, "42");
            Assert.AreEqual(new Uri("http://example.com/hotels/1/bookings/42"), result, "Invalid expanded template");
        }
Beispiel #2
0
        public void ExpandWithAtSign()
        {
            UriTemplate template = new UriTemplate("http://localhost/query={query}");
            Uri         uri      = template.Expand("foo@bar");

            Assert.AreEqual("http://localhost/query=foo@bar", uri.ToString());
        }
Beispiel #3
0
        public void ExpandEncoded()
        {
            UriTemplate template = new UriTemplate("http://example.com/hotel list/{hotel}");
            Uri         result   = template.Expand("Z\u00fcrich");

            Assert.AreEqual(new Uri("http://example.com/hotel%20list/Z%C3%BCrich"), result, "Invalid expanded template");
        }
Beispiel #4
0
        public void MultipleExpandDictionary()
        {
            UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");

            IDictionary <string, object> uriVariables = new Dictionary <string, object>(2);

            uriVariables.Add("booking", 21);
            uriVariables.Add("hotel", "2");
            Uri result = template.Expand(uriVariables);

            uriVariables = new Dictionary <string, object>(2);
            uriVariables.Add("booking", "42");
            uriVariables.Add("hotel", "1");
            result = template.Expand(uriVariables);

            Assert.AreEqual(new Uri("http://example.com/hotels/1/bookings/42"), result, "Invalid expanded template");
        }
Beispiel #5
0
        public void ExpandVarArgsDuplicateVariables()
        {
            UriTemplate template = new UriTemplate("http://example.com/order/{c}/{c}/{c}");

            Assert.AreEqual(new string[] { "c" }, template.VariableNames, "Invalid variable names");
            Uri result = template.Expand("cheeseburger");

            Assert.AreEqual(new Uri("http://example.com/order/cheeseburger/cheeseburger/cheeseburger"), result, "Invalid expanded template");
        }
Beispiel #6
0
        public void ExpandDictionaryInvalidAmountVariables()
        {
            IDictionary <string, object> uriVariables = new Dictionary <string, object>(2);

            uriVariables.Add("hotel", 1);

            UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");

            template.Expand(uriVariables);
        }
Beispiel #7
0
        public void ExpandVarArgs()
        {
            // absolute
            UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");
            Uri         result   = template.Expand("1", "42");

            Assert.AreEqual(new Uri("http://example.com/hotels/1/bookings/42"), result, "Invalid expanded template");

            // relative
            template = new UriTemplate("/hotels/{hotel}/bookings/{booking}");
            result   = template.Expand("1", "42");
            Assert.AreEqual(new Uri("/hotels/1/bookings/42", UriKind.Relative), result, "Invalid expanded template");
        }
Beispiel #8
0
        public void ExpandDictionary()
        {
            IDictionary <string, object> uriVariables = new Dictionary <string, object>(2);

            uriVariables.Add("booking", "42");
            uriVariables.Add("hotel", 1);

            // absolute
            UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");
            Uri         result   = template.Expand(uriVariables);

            Assert.AreEqual(new Uri("http://example.com/hotels/1/bookings/42"), result, "Invalid expanded template");

            // relative
            template = new UriTemplate("hotels/{hotel}/bookings/{booking}");
            result   = template.Expand(uriVariables);
            Assert.AreEqual(new Uri("hotels/1/bookings/42", UriKind.Relative), result, "Invalid expanded template");
        }
Beispiel #9
0
        public void ExpandVarArgsInvalidAmountVariables()
        {
            UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");

            template.Expand("1", "42", 100);
        }