### Question:
SimpleCachingItemScorer extends AbstractItemScorer { public long getId() { return cachedId; } @Inject  SimpleCachingItemScorer(ItemScorer sc); @Nonnull @Override ResultMap scoreWithDetails(long user, @Nonnull Collection<Long> items); long getId(); ResultMap getCache();  }### Answer:
@Test public void testCacheUser() { assertThat(cachedScorer.score(1, 3), equalTo((Result) Results.create(3, 3.5))); assertThat(cachedScorer.getId(), equalTo(1L)); assertThat(cachedScorer.score(2, 6), equalTo((Result) Results.create(6, 3.0))); assertThat(cachedScorer.getId(), equalTo(2L)); }