1127 |
|
* thenCompose result completes normally after normal completion of source |
1128 |
|
*/ |
1129 |
|
public void testThenCompose() { |
1130 |
< |
CompletableFuture<Integer> f = new CompletableFuture<Integer>(); |
1131 |
< |
CompletableFutureInc r = new CompletableFutureInc(); |
1132 |
< |
CompletableFuture<Integer> g = f.thenCompose(r); |
1130 |
> |
CompletableFuture<Integer> f, g; |
1131 |
> |
CompletableFutureInc r; |
1132 |
> |
|
1133 |
> |
f = new CompletableFuture<Integer>(); |
1134 |
> |
g = f.thenCompose(r = new CompletableFutureInc()); |
1135 |
> |
f.complete(one); |
1136 |
> |
checkCompletedNormally(g, two); |
1137 |
> |
assertTrue(r.ran); |
1138 |
> |
|
1139 |
> |
f = new CompletableFuture<Integer>(); |
1140 |
|
f.complete(one); |
1141 |
+ |
g = f.thenCompose(r = new CompletableFutureInc()); |
1142 |
|
checkCompletedNormally(g, two); |
1143 |
+ |
assertTrue(r.ran); |
1144 |
|
} |
1145 |
|
|
1146 |
|
/** |
1148 |
|
* completion of source |
1149 |
|
*/ |
1150 |
|
public void testThenCompose2() { |
1151 |
< |
CompletableFuture<Integer> f = new CompletableFuture<Integer>(); |
1152 |
< |
CompletableFutureInc r = new CompletableFutureInc(); |
1153 |
< |
CompletableFuture<Integer> g = f.thenCompose(r); |
1151 |
> |
CompletableFuture<Integer> f, g; |
1152 |
> |
CompletableFutureInc r; |
1153 |
> |
|
1154 |
> |
f = new CompletableFuture<Integer>(); |
1155 |
> |
g = f.thenCompose(r = new CompletableFutureInc()); |
1156 |
> |
f.completeExceptionally(new CFException()); |
1157 |
> |
checkCompletedWithWrappedCFException(g); |
1158 |
> |
|
1159 |
> |
f = new CompletableFuture<Integer>(); |
1160 |
|
f.completeExceptionally(new CFException()); |
1161 |
+ |
g = f.thenCompose(r = new CompletableFutureInc()); |
1162 |
|
checkCompletedWithWrappedCFException(g); |
1163 |
|
} |
1164 |
|
|
1166 |
|
* thenCompose result completes exceptionally if action does |
1167 |
|
*/ |
1168 |
|
public void testThenCompose3() { |
1169 |
< |
CompletableFuture<Integer> f = new CompletableFuture<Integer>(); |
1170 |
< |
FailingCompletableFutureFunction r = new FailingCompletableFutureFunction(); |
1171 |
< |
CompletableFuture<Integer> g = f.thenCompose(r); |
1169 |
> |
CompletableFuture<Integer> f, g; |
1170 |
> |
FailingCompletableFutureFunction r; |
1171 |
> |
|
1172 |
> |
f = new CompletableFuture<Integer>(); |
1173 |
> |
g = f.thenCompose(r = new FailingCompletableFutureFunction()); |
1174 |
|
f.complete(one); |
1175 |
|
checkCompletedWithWrappedCFException(g); |
1176 |
+ |
|
1177 |
+ |
f = new CompletableFuture<Integer>(); |
1178 |
+ |
f.complete(one); |
1179 |
+ |
g = f.thenCompose(r = new FailingCompletableFutureFunction()); |
1180 |
+ |
checkCompletedWithWrappedCFException(g); |
1181 |
|
} |
1182 |
|
|
1183 |
|
/** |
1184 |
|
* thenCompose result completes exceptionally if source cancelled |
1185 |
|
*/ |
1186 |
|
public void testThenCompose4() { |
1187 |
< |
CompletableFuture<Integer> f = new CompletableFuture<Integer>(); |
1188 |
< |
CompletableFutureInc r = new CompletableFutureInc(); |
1189 |
< |
CompletableFuture<Integer> g = f.thenCompose(r); |
1187 |
> |
CompletableFuture<Integer> f, g; |
1188 |
> |
CompletableFutureInc r; |
1189 |
> |
|
1190 |
> |
f = new CompletableFuture<Integer>(); |
1191 |
> |
g = f.thenCompose(r = new CompletableFutureInc()); |
1192 |
> |
assertTrue(f.cancel(true)); |
1193 |
> |
checkCompletedWithWrappedCancellationException(g); |
1194 |
> |
|
1195 |
> |
f = new CompletableFuture<Integer>(); |
1196 |
|
assertTrue(f.cancel(true)); |
1197 |
+ |
g = f.thenCompose(r = new CompletableFutureInc()); |
1198 |
|
checkCompletedWithWrappedCancellationException(g); |
1199 |
|
} |
1200 |
|
|
1870 |
|
public void testThenComposeAsync3() { |
1871 |
|
CompletableFuture<Integer> f, g; |
1872 |
|
FailingCompletableFutureFunction r; |
1873 |
< |
|
1873 |
> |
|
1874 |
|
f = new CompletableFuture<Integer>(); |
1875 |
|
g = f.thenComposeAsync(r = new FailingCompletableFutureFunction()); |
1876 |
|
f.complete(one); |
1877 |
|
checkCompletedWithWrappedCFException(g); |
1878 |
< |
|
1878 |
> |
|
1879 |
|
f = new CompletableFuture<Integer>(); |
1880 |
|
f.complete(one); |
1881 |
|
g = f.thenComposeAsync(r = new FailingCompletableFutureFunction()); |