330 |
|
* toString indicates current completion state |
331 |
|
*/ |
332 |
|
public void testToString_incomplete() { |
333 |
< |
CompletableFuture<String> f = new CompletableFuture<String>(); |
333 |
> |
CompletableFuture<String> f = new CompletableFuture<>(); |
334 |
|
assertTrue(f.toString().matches(".*\\[.*Not completed.*\\]")); |
335 |
|
if (testImplementationDetails) |
336 |
|
assertEquals(identityString(f) + "[Not completed]", |
338 |
|
} |
339 |
|
|
340 |
|
public void testToString_normal() { |
341 |
< |
CompletableFuture<String> f = new CompletableFuture<String>(); |
341 |
> |
CompletableFuture<String> f = new CompletableFuture<>(); |
342 |
|
assertTrue(f.complete("foo")); |
343 |
|
assertTrue(f.toString().matches(".*\\[.*Completed normally.*\\]")); |
344 |
|
if (testImplementationDetails) |
347 |
|
} |
348 |
|
|
349 |
|
public void testToString_exception() { |
350 |
< |
CompletableFuture<String> f = new CompletableFuture<String>(); |
350 |
> |
CompletableFuture<String> f = new CompletableFuture<>(); |
351 |
|
assertTrue(f.completeExceptionally(new IndexOutOfBoundsException())); |
352 |
|
assertTrue(f.toString().matches(".*\\[.*Completed exceptionally.*\\]")); |
353 |
|
if (testImplementationDetails) |
357 |
|
|
358 |
|
public void testToString_cancelled() { |
359 |
|
for (boolean mayInterruptIfRunning : new boolean[] { true, false }) { |
360 |
< |
CompletableFuture<String> f = new CompletableFuture<String>(); |
360 |
> |
CompletableFuture<String> f = new CompletableFuture<>(); |
361 |
|
assertTrue(f.cancel(mayInterruptIfRunning)); |
362 |
|
assertTrue(f.toString().matches(".*\\[.*Completed exceptionally.*\\]")); |
363 |
|
if (testImplementationDetails) |