public IEnumerable <Recommendation> Send(UserBasedRecommendation request) { var task = Task.Run(async() => await SendAsync(request)); var result = task.WaitAndUnwrapException(); return(result); }
public void TestBasicRecomm() { UserBasedRecommendation req = new UserBasedRecommendation("entity_id", 9); IEnumerable <Recommendation> response = client.Send(req); Assert.Equal(9, response.Count()); }
public IEnumerable <Recommendation> Send(UserBasedRecommendation request) { var task = SendAsync(request); RaiseExceptionOnFault(task); return(task.Result); }
public void TestRotation() { UserBasedRecommendation req = new UserBasedRecommendation("entity_id", 9); IEnumerable <Recommendation> recommended1 = client.Send(req); Assert.Equal(9, recommended1.Count()); UserBasedRecommendation req2 = new UserBasedRecommendation("entity_id", 9, rotationRate: 1); IEnumerable <Recommendation> recommended2 = client.Send(req2); Assert.Equal(9, recommended2.Count()); var ids1 = recommended1.Select(rec => rec.Id); var ids2 = recommended2.Select(rec => rec.Id); foreach (var id in ids1) { Assert.False(ids2.Contains(id)); } }
public async void TestRotation() { UserBasedRecommendation req = new UserBasedRecommendation("entity_id", 9); IEnumerable <Recommendation> recommended1 = await client.SendAsync(req); Assert.Equal(9, recommended1.Count()); UserBasedRecommendation req2 = new UserBasedRecommendation("entity_id", 9, rotationRate: 1); IEnumerable <Recommendation> recommended2 = await client.SendAsync(req2); Assert.Equal(9, recommended2.Count()); var ids1 = recommended1.Select(rec => rec.Id); var ids2 = recommended2.Select(rec => rec.Id); foreach (var id in ids1) { Assert.DoesNotContain(id, ids2); } }
public void TestReturningProperties() { UserBasedRecommendation req = new UserBasedRecommendation("entity_id", 9, returnProperties: true, includedProperties: new string[] { "answer", "id2", "empty" }); IEnumerable <Recommendation> recommended = client.Send(req); foreach (var r in recommended) { Assert.Equal(r.Id, r.Values["id2"]); Assert.Equal((long)42, (long)r.Values["answer"]); Assert.True(r.Values.ContainsKey("empty")); } UserBasedRecommendation req2 = new UserBasedRecommendation("entity_id", 9, returnProperties: true, includedProperties: new string[] { "answer", "id2" }); IEnumerable <Recommendation> recommended2 = client.Send(req2); foreach (var r in recommended2) { Assert.Equal(r.Id, r.Values["id2"]); Assert.Equal((long)42, (long)r.Values["answer"]); Assert.False(r.Values.ContainsKey("empty")); } }
private IEnumerable <Recommendation> ParseResponse(string json, UserBasedRecommendation request) { return(ParseRecommRequestResponse(json, request)); }
public async Task <IEnumerable <Recommendation> > SendAsync(UserBasedRecommendation request) { var json = await SendRequestAsync(request).ConfigureAwait(false); return(ParseResponse(json, request)); }
public IEnumerable <Recommendation> Send(UserBasedRecommendation request) { var json = SendRequest(request); return(ParseResponse(json, request)); }