### Question:
PseudoRandomNumberGenerator { public List<Integer> getRandomNumbers(final int the_from, final int the_to) { assert the_from <= the_to; assert my_with_replacement || the_to <= my_maximum_index; if (the_to + 1 > my_random_numbers.size()) { extendList(the_to + 1); } return my_random_numbers.subList(the_from, the_to + 1); } PseudoRandomNumberGenerator(final String the_seed, 
                                     final boolean the_with_replacement,
                                     final int the_minimum, 
                                     final int the_maximum); List<Integer> getRandomNumbers(final int the_from, final int the_to); void generateNext(); /*@ pure @*/ static boolean seedOnlyContainsDigits(final String the_seed); static final int MINIMUM_SEED_LENGTH; }### Answer:
@Test() public void testRandomGenerator() { final String seed = "3546311556112163624615351222"; final PseudoRandomNumberGenerator gen = new PseudoRandomNumberGenerator(seed, false, 1, 876); final List<Integer> numbers = gen.getRandomNumbers(0, 46); final List<Integer> expected = Arrays.asList(740, 180, 264, 789, 238, 448, 272, 611, 761, 208, 596, 88, 160, 113, 766, 427, 184, 816, 653, 411, 779, 331, 339, 487, 594, 235, 65, 527, 821, 490, 461, 251, 471, 414, 174, 567, 300, 134, 144, 357, 786, 792, 218, 550, 787, 537, 197); Assert.assertEquals(numbers, expected); }