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")); }
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."); }
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?")); }
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); }
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(); }
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); }
/// <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); }