@Test public void testRating() { JSONEntityFormat fmt = new JSONEntityFormat(); fmt.setEntityType(CommonTypes.RATING); fmt.setEntityBuilder(RatingBuilder.class); LineEntityParser lep = fmt.makeParser(Collections.EMPTY_LIST); Entity res = lep.parse("{\"$id\": 203810, \"user\": 42, \"item\": 20, \"rating\": 3.5}"); assertThat(res, notNullValue()); assertThat(res, instanceOf(Rating.class)); Rating r = (Rating) res; assertThat(r.getId(), equalTo(203810L)); assertThat(r.getType(), equalTo(CommonTypes.RATING)); assertThat(r.getUserId(), equalTo(42L)); assertThat(r.getItemId(), equalTo(20L)); assertThat(r.getValue(), equalTo(3.5)); }
@Test public void testRatingWithNull() { JSONEntityFormat fmt = new JSONEntityFormat(); fmt.setEntityType(CommonTypes.RATING); fmt.setEntityBuilder(RatingBuilder.class); LineEntityParser lep = fmt.makeParser(Collections.EMPTY_LIST); Entity res = lep.parse("{\"$id\": 203810, \"user\": 42, \"item\": 20, \"rating\": 3.5, \"timestamp\": null}"); assertThat(res, notNullValue()); assertThat(res, instanceOf(Rating.class)); Rating r = (Rating) res; assertThat(r.getId(), equalTo(203810L)); assertThat(r.getType(), equalTo(CommonTypes.RATING)); assertThat(r.getUserId(), equalTo(42L)); assertThat(r.getItemId(), equalTo(20L)); assertThat(r.getValue(), equalTo(3.5)); }
@Test public void testConvertToRating() { Entity e = Entities.newBuilder(CommonTypes.RATING) .setId(10) .setAttribute(CommonAttributes.USER_ID, 15L) .setAttribute(CommonAttributes.ITEM_ID, 25L) .setAttribute(CommonAttributes.RATING, 3.5) .setAttribute(CommonAttributes.TIMESTAMP, 2308010L) .build(); Rating rating = Entities.project(e, Rating.class); assertThat(rating.getId(), equalTo(10L)); assertThat(rating.getUserId(), equalTo(15L)); assertThat(rating.getValue(), equalTo(3.5)); assertThat(rating.getTimestamp(), equalTo(2308010L)); assertThat(rating.equals(e), equalTo(true)); assertThat(e.equals(rating), equalTo(true)); } }
EntityFactory fac = new EntityFactory(); Rating r = fac.rating(42, 37, 3.5, 10); assertThat(r.getId(), equalTo(1L)); assertThat(r.getUserId(), equalTo(42L)); assertThat(r.getItemId(), equalTo(37L));