Class AbstractListenableFutureTest

java.lang.Object
junit.framework.Assert
junit.framework.TestCase
com.google.common.util.concurrent.testing.AbstractListenableFutureTest
All Implemented Interfaces:
junit.framework.Test

public abstract class AbstractListenableFutureTest extends junit.framework.TestCase
Abstract test case parent for anything implementing ListenableFuture. Tests the two get methods and the addListener method.
Since:
10.0
  • Field Details

  • Constructor Details

    • AbstractListenableFutureTest

      public AbstractListenableFutureTest()
  • Method Details

    • setUp

      protected void setUp() throws Exception
      Overrides:
      setUp in class junit.framework.TestCase
      Throws:
      Exception
    • tearDown

      protected void tearDown() throws Exception
      Overrides:
      tearDown in class junit.framework.TestCase
      Throws:
      Exception
    • createListenableFuture

      protected abstract <V> ListenableFuture<V> createListenableFuture(V value, Exception except, CountDownLatch waitOn)
      Constructs a listenable future with a value available after the latch has counted down.
    • testGetBlocksUntilValueAvailable

      public void testGetBlocksUntilValueAvailable() throws Throwable
      Tests that the Future.get() method blocks until a value is available.
      Throws:
      Throwable
    • testTimeoutOnGetWorksCorrectly

      public void testTimeoutOnGetWorksCorrectly() throws InterruptedException, ExecutionException
      Tests that the Future.get(long, TimeUnit) method times out correctly.
      Throws:
      InterruptedException
      ExecutionException
    • testCanceledFutureThrowsCancellation

      public void testCanceledFutureThrowsCancellation() throws Exception
      Tests that a canceled future throws a cancellation exception.

      This method checks the cancel, isCancelled, and isDone methods.

      Throws:
      Exception
    • testListenersNotifiedOnError

      public void testListenersNotifiedOnError() throws Exception
      Throws:
      Exception
    • testAllListenersCompleteSuccessfully

      public void testAllListenersCompleteSuccessfully() throws InterruptedException, ExecutionException
      Tests that all listeners complete, even if they were added before or after the future was finishing. Also acts as a concurrency test to make sure the locking is done correctly when a future is finishing so that no listeners can be lost.
      Throws:
      InterruptedException
      ExecutionException