@Test
  public void testForBottomRankedUser() {
    List<Entry> found = underTest.aroundMe(leaderboardName, LOWEST_RANKED_USER);
    assertEquals("Should have the full page size of users", underTest.getPageSize(), found.size());

    Entry last = found.get(found.size() - 1);
    assertEquals("User_99 should be the first entry", last.getUserId(), LOWEST_RANKED_USER);
    testEntriesAreOrdered(found);
    testEntriesAreCorrect(found, underTest.isUseZeroIndexForRank());
  }
  @Test
  public void testAroundMeHappyPath() {
    List<Entry> found = underTest.aroundMe(leaderboardName, MID_RANKED_USER);
    Assert.assertNotNull("Should have returned a list of users", found);
    assertEquals("Should have the full page size of users", underTest.getPageSize(), found.size());

    Entry middleEntry = found.get(found.size() / 2);
    assertEquals("User_50 should be the first entry", middleEntry.getUserId(), MID_RANKED_USER);
    testEntriesAreOrdered(found);
    testEntriesAreCorrect(found, underTest.isUseZeroIndexForRank());
  }
  @Test
  public void testZeroBasedIndex() {
    underTest.setUseZeroIndexForRank(true);
    assertTrue("Zero index for rank has been enabled", underTest.isUseZeroIndexForRank());
    List<Entry> found = underTest.aroundMe(leaderboardName, HIGHEST_RANKED_USER);
    assertEquals("Should have the full page size of users", underTest.getPageSize(), found.size());

    Entry first = found.get(0);
    assertEquals("First user should have a rank of 0", new Long(0), first.getRank());
    testEntriesAreOrdered(found);
    testEntriesAreCorrect(found, underTest.isUseZeroIndexForRank());
  }
  @Test
  public void testWhenPageSizeChanged() {
    int newPageSize = PipelinedLeaderboard.DEFAULT_PAGE_SIZE / 2;
    assertNotSame(newPageSize, PipelinedLeaderboard.DEFAULT_PAGE_SIZE);

    underTest.setPageSize(newPageSize);
    List<Entry> found = underTest.aroundMe(leaderboardName, MID_RANKED_USER);
    Assert.assertNotNull("Should have returned a list of users", found);
    assertEquals("Should have the modified page size of users", newPageSize, found.size());
    testEntriesAreOrdered(found);
    testEntriesAreCorrect(found, underTest.isUseZeroIndexForRank());
  }