public void testTimeout3() throws Exception {
   initResequencer(500, 10);
   resequencer.setLastDelivered(3);
   resequencer.insert(4);
   assertEquals((Integer) 4, buffer.poll(250));
   assertEquals((Integer) 4, resequencer.getLastDelivered());
 }
 public void testRandom() throws Exception {
   if (IGNORE_LOAD_TESTS) {
     return;
   }
   int input = 1000;
   initResequencer(1000, 1000);
   List<Integer> list = new LinkedList<Integer>();
   for (int i = 0; i < input; i++) {
     list.add(i);
   }
   Random random = new Random(System.currentTimeMillis());
   System.out.println("Input sequence:");
   long millis = System.currentTimeMillis();
   for (int i = input; i > 0; i--) {
     int r = random.nextInt(i);
     int next = list.remove(r);
     System.out.print(next + " ");
     resequencer.insert(next);
   }
   System.out.println("\nOutput sequence:");
   for (int i = 0; i < input; i++) {
     System.out.print(buffer.take() + " ");
   }
   millis = System.currentTimeMillis() - millis;
   System.out.println("\nDuration = " + millis + " ms");
 }
 public void tearDown() throws Exception {
   if (runner != null) {
     runner.cancel();
   }
   if (resequencer != null) {
     resequencer.stop();
   }
 }
 private void testReverse(int capacity) throws Exception {
   initResequencer(1, capacity);
   for (int i = 99; i >= 0; i--) {
     resequencer.insert(i);
   }
   System.out.println("\nOutput sequence:");
   for (int i = 0; i < 100; i++) {
     System.out.print(buffer.take() + " ");
   }
 }