@Test
  public void submitRunnableWithResultTest() {
    TestPriorityScheduler testScheduler = new TestPriorityScheduler();
    PrioritySchedulerDefaultPriorityWrapper psw =
        new PrioritySchedulerDefaultPriorityWrapper(testScheduler, TaskPriority.Low);
    psw.submit(DoNothingRunnable.instance(), new Object());
    assertTrue(testScheduler.submitRunnableResultCalled);

    // reset and try with priority
    testScheduler.submitRunnableResultCalled = false;
    psw.submit(DoNothingRunnable.instance(), new Object(), TaskPriority.High);
    assertTrue(testScheduler.submitRunnableResultCalled);
  }
  @Test
  public void submitCallableTest() {
    TestPriorityScheduler testScheduler = new TestPriorityScheduler();
    PrioritySchedulerDefaultPriorityWrapper psw =
        new PrioritySchedulerDefaultPriorityWrapper(testScheduler, TaskPriority.Low);
    psw.submit(new TestCallable());
    assertTrue(testScheduler.submitCallableCalled);

    // reset and try with priority
    testScheduler.submitCallableCalled = false;
    psw.submit(new TestCallable(), TaskPriority.High);
    assertTrue(testScheduler.submitCallableCalled);
  }