Exemplo n.º 1
0
        public void ToString_ContainsBrandId()
        {
            var request = new NutritionixSearchRequest { BrandId = "myBrandId"};
            var uri = new SearchUri("myId", "myKey", request);
            var result = uri.ToString();

            Assert.IsTrue(result.Contains("brand_id=myBrandId"));
        }
Exemplo n.º 2
0
        public void ToString_DoesNotContainEmptyParameters()
        {
            var request = new NutritionixSearchRequest { Query = "myQuery" };
            var uri = new SearchUri("myId", "myKey", request);
            var result = uri.ToString();

            Assert.IsFalse(result.Contains("results="), "Result range should not be in the URI since no explicit value was specified.");
        }
Exemplo n.º 3
0
        public void ToString_ContainsQuery()
        {
            var request = new NutritionixSearchRequest {Query = "myQuery"};
            var uri = new SearchUri("myId", "myKey", request);
            var result = uri.ToString();

            Assert.IsTrue(result.Contains("/myQuery?"));
        }
Exemplo n.º 4
0
        public void ToString_ContainsStart()
        {
            var request = new NutritionixSearchRequest { Query = "myQuery", Start = 100, Count = 50};
            var uri = new SearchUri("myId", "myKey", request);
            var result = uri.ToString();

            result = HttpUtility.UrlDecode(result);

            Assert.IsTrue(result.Contains("results=100:150"));
        }
        public void Search_ThrowsNutritionixException_WhenBadResponseisReturned()
        {
            MockResponse(string.Empty, HttpStatusCode.BadRequest);

            var client = new NutritionixClient();
            var request = new NutritionixSearchRequest { Query = "foobar" };
            NutritionixSearchResponse response = client.SearchItems(request);

            Assert.AreEqual(0, response.Results.Length);
        }
        public void Search_ThrowsNutritionixException_WhenNutritionixReturnsErrorResponse()
        {
            var errorResponse = new NutritionixErrorResponse
                {
                    Errors = new[] {new NutritionixError {Code = "404", Message = "No item found with id fake"}}
                };
            var json = JsonConvert.SerializeObject(errorResponse);
            MockResponse(json, HttpStatusCode.NotFound);

            var client = new NutritionixClient();
            var request = new NutritionixSearchRequest { Query = "foobar" };
            client.SearchItems(request);
        }
        public void Search_ReturnsPopulatedResults()
        {
            var sampleResponse = new NutritionixSearchResponse
                {
                    TotalResults = 1,
                    Results = new[] { new NutritionixSearchResult() }
                };
            string json = JsonConvert.SerializeObject(sampleResponse);
            MockResponse(json);

            var client = new NutritionixClient();
            var request = new NutritionixSearchRequest { Query = "foobar" };
            NutritionixSearchResponse response = client.SearchItems(request);

            Assert.AreEqual(1, response.Results.Length);
        }
Exemplo n.º 8
0
        public static void SearchItems()
        {
            var nutritionix = new NutritionixClient();
            nutritionix.Initialize(myApiId, myApiKey);

            var request = new NutritionixSearchRequest { Query = "pie" };
            Console.WriteLine("Searching Nutritionix for 'pie'...");
            NutritionixSearchResponse response = nutritionix.SearchItems(request);

            Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults);
            foreach(NutritionixSearchResult result in response.Results)
            {
                Console.WriteLine("* {0}", result.Item.Name);
            }

            Console.WriteLine();
        }
Exemplo n.º 9
0
        public static void RetrieveItemsByBrand()
        {
            var nutritionix = new NutritionixClient();
            nutritionix.Initialize(myApiId, myApiKey);

            var request = new NutritionixSearchRequest { BrandId = "513fbc1283aa2dc80c000024" };
            Console.WriteLine("Searching Nutritionix for the Olive Garden brand...");
            NutritionixSearchResponse response = nutritionix.SearchItems(request);

            Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults);
            foreach (NutritionixSearchResult result in response.Results)
            {
                Console.WriteLine("* {0}", result.Item.Name);
            }

            Console.WriteLine();
        }
        public void Search_ReturnsEmptyResults_WhenResultsIsNull()
        {
            var sampleResponse = new NutritionixSearchResponse
                {
                    TotalResults = 0,
                    Results = null
                };
            string json = JsonConvert.SerializeObject(sampleResponse);
            MockResponse(json);

            var client = new NutritionixClient();
            var request = new NutritionixSearchRequest { Query = "foobar" };
            NutritionixSearchResponse response = client.SearchItems(request);

            Assert.IsNotNull(response.Results);
            Assert.AreEqual(0, response.Results.Length);
        }
Exemplo n.º 11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SearchUri" /> class.
 /// </summary>
 /// <param name="appId">Your application id</param>
 /// <param name="appKey">Your application key</param>
 /// <param name="request">The search request</param>
 public SearchUri(string appId, string appKey, NutritionixSearchRequest request)
     : base(appId, appKey)
 {
     _request = request;
 }
        public void Search_ThrowsNutritionixException_WhenResponseContainsUnparseableJson()
        {
            MockResponse("<!_foobar'd");

            var client = new NutritionixClient();
            var request = new NutritionixSearchRequest{Query = "foobar"};
            client.SearchItems(request);
        }