MersenneTwister extends AbstractRNG { @Override public int nextInt() { if (mti == N) { nextBlock(); } int y = mt[mti++]; y ^= (y >>> 11); y ^= (y << 7) & TEMPERING_MASK_B; y ^= (y << 15) & TEMPERING_MASK_C; y ^= (y >>> 18); return y; } MersenneTwister(final int seed); static MersenneTwister fromSystemNanoTime(); static MersenneTwister fromDate(Date date); @Override int nextInt();  }
@Test(expected = IllegalArgumentException.class) public void testNextIntNegativeBound() { createRNG().nextInt(-1); }