public void ToString_DoesNotContainEmptyParameters()
        {
            var request = new SearchRequest {
                Query = "myQuery"
            };
            var uri = new SearchUri("myId", "myKey", request);

            string result = uri.ToString();

            StringAssert.DoesNotContain("results=", result, "Result range should not be in the URI since no explicit value was specified.");
        }
        public void ToString_ContainsBrandId()
        {
            var request = new SearchRequest {
                BrandId = "myBrandId"
            };
            var uri = new SearchUri("myId", "myKey", request);

            string result = uri.ToString();

            StringAssert.Contains("brand_id=myBrandId", result);
        }
        public void ToString_ContainsQuery()
        {
            var request = new SearchRequest {
                Query = "myQuery"
            };
            var uri = new SearchUri("myId", "myKey", request);

            string result = uri.ToString();

            StringAssert.Contains("/myQuery?", result);
        }
        public void ToString_ContainsStart()
        {
            var request = new SearchRequest {
                Query = "myQuery", Start = 100, Count = 50
            };
            var uri = new SearchUri("myId", "myKey", request);

            string result = uri.ToString();

            result = HttpUtility.UrlDecode(result);

            StringAssert.Contains("results=100:150", result);
        }
        public void ToString_ContainsExcludedAllergens()
        {
            var request = new SearchRequest
            {
                Query            = "myQuery",
                ExcludeAllergens = new List <Allergen> {
                    Allergen.Eggs, Allergen.Fish
                }
            };
            var uri = new SearchUri("myId", "myKey", request);

            string result = uri.ToString();

            StringAssert.Contains("allergen_contains_eggs", result);
            StringAssert.Contains("allergen_contains_fish", result);
        }