scheduledexecutortest.java
来自「SRI international 发布的OAA框架软件」· Java 代码 · 共 1,149 行 · 第 1/3 页
JAVA
1,149 行
/**
* invokeAny(c) throws NPE if c has null elements
*/
public void testInvokeAny3() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(null);
e.invokeAny(l);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* invokeAny(c) throws ExecutionException if no task completes
*/
public void testInvokeAny4() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new NPETask());
e.invokeAny(l);
} catch (ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* invokeAny(c) returns result of some task
*/
public void testInvokeAny5() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(new StringTask());
String result = (String)e.invokeAny(l);
assertSame(TEST_STRING, result);
} catch (ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* invokeAll(null) throws NPE
*/
public void testInvokeAll1() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
e.invokeAll(null);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* invokeAll(empty collection) returns empty collection
*/
public void testInvokeAll2() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
List r = e.invokeAll(new ArrayList());
assertTrue(r.isEmpty());
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* invokeAll(c) throws NPE if c has null elements
*/
public void testInvokeAll3() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(null);
e.invokeAll(l);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* get of invokeAll(c) throws exception on failed task
*/
public void testInvokeAll4() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new NPETask());
List result = e.invokeAll(l);
assertEquals(1, result.size());
for (Iterator it = result.iterator(); it.hasNext();)
((Future)it.next()).get();
} catch(ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* invokeAll(c) returns results of all completed tasks
*/
public void testInvokeAll5() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(new StringTask());
List result = e.invokeAll(l);
assertEquals(2, result.size());
for (Iterator it = result.iterator(); it.hasNext();)
assertSame(TEST_STRING, ((Future)it.next()).get());
} catch (ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAny(null) throws NPE
*/
public void testTimedInvokeAny1() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
e.invokeAny(null, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAny(,,null) throws NPE
*/
public void testTimedInvokeAnyNullTimeUnit() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
e.invokeAny(l, MEDIUM_DELAY_MS, null);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAny(empty collection) throws IAE
*/
public void testTimedInvokeAny2() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
e.invokeAny(new ArrayList(), MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
} catch (IllegalArgumentException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAny(c) throws NPE if c has null elements
*/
public void testTimedInvokeAny3() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(null);
e.invokeAny(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
} catch (NullPointerException success) {
} catch(Exception ex) {
ex.printStackTrace();
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAny(c) throws ExecutionException if no task completes
*/
public void testTimedInvokeAny4() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new NPETask());
e.invokeAny(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
} catch(ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAny(c) returns result of some task
*/
public void testTimedInvokeAny5() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(new StringTask());
String result = (String)e.invokeAny(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
assertSame(TEST_STRING, result);
} catch (ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAll(null) throws NPE
*/
public void testTimedInvokeAll1() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
e.invokeAll(null, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAll(,,null) throws NPE
*/
public void testTimedInvokeAllNullTimeUnit() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
e.invokeAll(l, MEDIUM_DELAY_MS, null);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAll(empty collection) returns empty collection
*/
public void testTimedInvokeAll2() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
List r = e.invokeAll(new ArrayList(), MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
assertTrue(r.isEmpty());
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAll(c) throws NPE if c has null elements
*/
public void testTimedInvokeAll3() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(null);
e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
} catch (NullPointerException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* get of element of invokeAll(c) throws exception on failed task
*/
public void testTimedInvokeAll4() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new NPETask());
List result = e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
assertEquals(1, result.size());
for (Iterator it = result.iterator(); it.hasNext();)
((Future)it.next()).get();
} catch(ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAll(c) returns results of all completed tasks
*/
public void testTimedInvokeAll5() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(new StringTask());
List result = e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
assertEquals(2, result.size());
for (Iterator it = result.iterator(); it.hasNext();)
assertSame(TEST_STRING, (String)((Future)it.next()).get());
} catch (ExecutionException success) {
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
/**
* timed invokeAll(c) cancels tasks not completed by timeout
*/
public void testTimedInvokeAll6() {
ExecutorService e = new ScheduledThreadPoolExecutor(2);
try {
ArrayList l = new ArrayList();
l.add(new StringTask());
l.add(Executors.callable(new MediumPossiblyInterruptedRunnable(), TEST_STRING));
l.add(new StringTask());
List result = e.invokeAll(l, SHORT_DELAY_MS, TimeUnit.MILLISECONDS);
assertEquals(3, result.size());
Iterator it = result.iterator();
Future f1 = (Future)it.next();
Future f2 = (Future)it.next();
Future f3 = (Future)it.next();
assertTrue(f1.isDone());
assertTrue(f2.isDone());
assertTrue(f3.isDone());
assertFalse(f1.isCancelled());
assertTrue(f2.isCancelled());
} catch(Exception ex) {
unexpectedException();
} finally {
joinPool(e);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?