示例#1
0
        public async void TestBasicRecomm()
        {
            ItemBasedRecommendation      req      = new ItemBasedRecommendation("entity_id", 9);
            IEnumerable <Recommendation> response = await client.SendAsync(req);

            Assert.Equal(9, response.Count());
        }
示例#2
0
        public IEnumerable <Recommendation> Send(ItemBasedRecommendation request)
        {
            var task   = Task.Run(async() => await SendAsync(request));
            var result = task.WaitAndUnwrapException();

            return(result);
        }
示例#3
0
        public IEnumerable <Recommendation> Send(ItemBasedRecommendation request)
        {
            var task = SendAsync(request);

            RaiseExceptionOnFault(task);
            return(task.Result);
        }
示例#4
0
        public async void TestRotation()
        {
            ItemBasedRecommendation      req          = new ItemBasedRecommendation("entity_id", 9, targetUserId: "entity_id");
            IEnumerable <Recommendation> recommended1 = await client.SendAsync(req);

            Assert.Equal(9, recommended1.Count());

            ItemBasedRecommendation      req2         = new ItemBasedRecommendation("entity_id", 9, targetUserId: "entity_id", 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);
            }
        }
示例#5
0
        public async void TestReturningProperties()
        {
            ItemBasedRecommendation      req         = new ItemBasedRecommendation("entity_id", 9, returnProperties: true, includedProperties: new string[] { "answer", "id2", "empty" });
            IEnumerable <Recommendation> recommended = await client.SendAsync(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"));
            }


            ItemBasedRecommendation      req2         = new ItemBasedRecommendation("entity_id", 9, returnProperties: true, includedProperties: new string[] { "answer", "id2" });
            IEnumerable <Recommendation> recommended2 = await client.SendAsync(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"));
            }
        }
示例#6
0
 private IEnumerable <Recommendation> ParseResponse(string json, ItemBasedRecommendation request)
 {
     return(ParseRecommRequestResponse(json, request));
 }
示例#7
0
        public async Task <IEnumerable <Recommendation> > SendAsync(ItemBasedRecommendation request)
        {
            var json = await SendRequestAsync(request).ConfigureAwait(false);

            return(ParseResponse(json, request));
        }
示例#8
0
        public IEnumerable <Recommendation> Send(ItemBasedRecommendation request)
        {
            var json = SendRequest(request);

            return(ParseResponse(json, request));
        }