@Test
public void testDistribute() throws Exception {

    Pseudorandom pseudorandom = mock(Pseudorandom.class);
    AbstractHashGenerator f = new AbstractHashGenerator(pseudorandom);
    long x = f.distribute(5L); // lowest 3 bits = 5, rotate 6 times
    verify(pseudorandom, times(6)).next(anyLong());
    assertThat(x, is(not(5L)));
}