Class AbstractListenableFutureTest
java.lang.Object
junit.framework.Assert
junit.framework.TestCase
com.google.common.util.concurrent.testing.AbstractListenableFutureTest
- All Implemented Interfaces:
junit.framework.Test
@GwtIncompatible
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
- Author:
- Sven Mawson
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected com.google.common.util.concurrent.ListenableFuture
<Boolean> protected CountDownLatch
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract <V> com.google.common.util.concurrent.ListenableFuture
<V> createListenableFuture
(V value, @Nullable Exception except, CountDownLatch waitOn) Constructs a listenable future with a value available after the latch has counted down.protected void
setUp()
protected void
tearDown()
void
Tests that all listeners complete, even if they were added before or after the future was finishing.void
Tests that a canceled future throws a cancellation exception.void
Tests that theFuture.get()
method blocks until a value is available.void
void
Tests that theFuture.get(long, TimeUnit)
method times out correctly.Methods inherited from class junit.framework.TestCase
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, runTest, setName, toString
-
Field Details
-
latch
-
future
-
-
Constructor Details
-
AbstractListenableFutureTest
public AbstractListenableFutureTest()
-
-
Method Details
-
setUp
- Overrides:
setUp
in classjunit.framework.TestCase
- Throws:
Exception
-
tearDown
- Overrides:
tearDown
in classjunit.framework.TestCase
- Throws:
Exception
-
createListenableFuture
protected abstract <V> com.google.common.util.concurrent.ListenableFuture<V> createListenableFuture(V value, @Nullable Exception except, CountDownLatch waitOn) Constructs a listenable future with a value available after the latch has counted down. -
testGetBlocksUntilValueAvailable
Tests that theFuture.get()
method blocks until a value is available.- Throws:
Throwable
-
testTimeoutOnGetWorksCorrectly
Tests that theFuture.get(long, TimeUnit)
method times out correctly. -
testCanceledFutureThrowsCancellation
Tests that a canceled future throws a cancellation exception.This method checks the cancel, isCancelled, and isDone methods.
- Throws:
Exception
-
testListenersNotifiedOnError
- Throws:
Exception
-
testAllListenersCompleteSuccessfully
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.
-