@Test
public void testDistribution() throws Exception {

    int[] values = new int[10];
    long x = System.nanoTime();
    // fill the buckets (0..10)
    for (int i = 0; i < 1000000; i++) {
        // mask the sign bit and take the modulus, standard hash table
        values[(int) ((0x7FFFFFFFFFFFL & (x = generator.next(x))) % 10)]++;
    }
    for (int v : values) {
        assertTrue(v + " was not within 0.1 % of a uniform distribution", 99000 <= v && v <= 101000);
    }
}