@Test
  public void submitScheduledCallableTest() {
    TestPriorityScheduler testScheduler = new TestPriorityScheduler();
    PrioritySchedulerDefaultPriorityWrapper psw =
        new PrioritySchedulerDefaultPriorityWrapper(testScheduler, TaskPriority.Low);
    psw.submitScheduled(new TestCallable(), 10);
    assertTrue(testScheduler.submitScheduledCallableCalled);

    // reset and try with priority
    testScheduler.submitScheduledCallableCalled = false;
    psw.submitScheduled(new TestCallable(), 10, TaskPriority.High);
    assertTrue(testScheduler.submitScheduledCallableCalled);
  }
  @Test
  public void submitScheduledRunnableWithResultTest() {
    TestPriorityScheduler testScheduler = new TestPriorityScheduler();
    PrioritySchedulerDefaultPriorityWrapper psw =
        new PrioritySchedulerDefaultPriorityWrapper(testScheduler, TaskPriority.Low);
    psw.submitScheduled(DoNothingRunnable.instance(), new Object(), 10);
    assertTrue(testScheduler.submitScheduledRunnableResultCalled);

    // reset and try with priority
    testScheduler.submitScheduledRunnableResultCalled = false;
    psw.submitScheduled(DoNothingRunnable.instance(), new Object(), 10, TaskPriority.High);
    assertTrue(testScheduler.submitScheduledRunnableResultCalled);
  }