@Test public void testEmptyIRV() { List<Rating> ratings = Collections.emptyList(); Long2DoubleMap urv = Ratings.itemRatingVector(ratings); assertThat(urv.isEmpty(), equalTo(true)); assertThat(urv.size(), equalTo(0)); }
@Test public void testIRVRatings() { List<Rating> ratings = new ArrayList<>(); ratings.add(Rating.create(1, 2, 3.0, 1)); ratings.add(Rating.create(2, 2, 2.3, 3)); ratings.add(Rating.create(3, 2, 4.5, 10)); Long2DoubleMap urv = Ratings.itemRatingVector(ratings); assertThat(urv.isEmpty(), equalTo(false)); assertThat(urv.size(), equalTo(3)); assertThat(urv.get(1), closeTo(3.0, 1.0e-6)); assertThat(urv.get(3), closeTo(4.5, 1.0e-6)); assertThat(urv.get(2), closeTo(2.3, 1.0e-6)); assertThat(urv.containsKey(5), equalTo(false)); }
/** * Test method for {@link Ratings#itemRatingVector(java.util.Collection)}. */ @Test public void testItemRatingVector() { Collection<Rating> ratings = new ArrayList<>(); ratings.add(Rating.create(7, 5, 3.5)); RatingBuilder rb = new RatingBuilder(); ratings.add(Rating.create(3, 5, 1.5)); ratings.add(Rating.create(8, 5, 2)); Long2DoubleMap v = Ratings.itemRatingVector(ratings); assertEquals(3, v.size()); assertEquals(7, Vectors.sum(v), EPSILON); long[] keys = {3, 7, 8}; double[] values = {1.5, 3.5, 2}; Long2DoubleSortedArrayMap sv = Long2DoubleSortedArrayMap.wrap(SortedKeyIndex.create(keys), values); assertEquals(sv, v); } }