@Override public List<Long> recommendRelatedItems(long reference) { return recommendRelatedItems(reference, -1); }
@Override public List<Long> recommendRelatedItems(Set<Long> basket) { return recommendRelatedItems(basket, -1); }
@Override public ResultList recommendRelatedItemsWithDetails(Set<Long> basket, int n, @Nullable Set<Long> candidates, @Nullable Set<Long> exclude) { return recommendRelatedItems(basket, n, candidates, exclude) .stream() .map(i -> Results.create(i, statistics.getInteractionCount(i))) .collect(Results.listCollector()); }
@Test public void testRecommendRelatedBasket() { List<Long> results = recommender.recommendRelatedItems(ImmutableSet.of(1L, 10L)); assertThat(results, contains(2L)); }
@Test public void testRecommendRelatedWithCandidates() { List<Long> results = recommender.recommendRelatedItems(ImmutableSet.of(), -1, ImmutableSet.of(1L), null); assertThat(results, contains(1L)); }
@Test public void testRecommendRelatedItems() { List<Long> results = recommender.recommendRelatedItems(1); assertThat(results, contains(2L)); }
@Test public void testRecommendAllRelatedItems() { List<Long> results = recommender.recommendRelatedItems(17); assertThat(results, contains(1L, 2L)); }
@Test public void testRecommendRelatedLimit() { List<Long> results = recommender.recommendRelatedItems(100, 1); assertThat(results, contains(1L)); }
@Override public List<Long> recommendRelatedItems(long reference) { return recommendRelatedItems(reference, -1); }
@Override public List<Long> recommendRelatedItems(Set<Long> basket) { return recommendRelatedItems(basket, -1); }
@Override public ResultList recommendRelatedItemsWithDetails(Set<Long> basket, int n, @Nullable Set<Long> candidates, @Nullable Set<Long> exclude) { return recommendRelatedItems(basket, n, candidates, exclude) .stream() .map(i -> Results.create(i, statistics.getInteractionCount(i))) .collect(Results.listCollector()); }