926 |
|
for (boolean createIncomplete : new boolean[] { true, false }) |
927 |
|
for (Integer v1 : new Integer[] { 1, null }) |
928 |
|
{ |
929 |
– |
final AtomicInteger a = new AtomicInteger(0); |
929 |
|
final CompletableFuture<Integer> f = new CompletableFuture<>(); |
930 |
|
if (!createIncomplete) assertTrue(f.complete(v1)); |
931 |
|
final CompletableFuture<Integer> g = m.exceptionally |
932 |
|
(f, (Throwable t) -> { |
934 |
– |
a.getAndIncrement(); |
933 |
|
threadFail("should not be called"); |
934 |
|
return null; // unreached |
935 |
|
}); |
937 |
|
|
938 |
|
checkCompletedNormally(g, v1); |
939 |
|
checkCompletedNormally(f, v1); |
942 |
– |
assertEquals(0, a.get()); |
940 |
|
}} |
941 |
|
|
942 |
|
/** |