NSOperationQueue extends NSObject { public abstract void cancelAllOperations();  abstract NSOperationQueue init(); abstract void addOperation(NSOperation operation); abstract void addOperations_waitUntilFinished(NSArray ops, boolean wait); abstract void cancelAllOperations(); abstract boolean isSuspended(); abstract NSInteger maxConcurrentOperationCount(); abstract String name(); abstract NSUInteger operationCount(); abstract NSArray operations(); abstract void setMaxConcurrentOperationCount(NSInteger count); abstract void setName(String name); abstract void setSuspended(boolean suspend); abstract void waitUntilAllOperationsAreFinished(); static final _Class CLASS; static final int NSOperationQueueDefaultMaxConcurrentOperationCount; }
@Test public void testCancelAllOperations() { int numItems = 250; RunnableHolder runnables = new RunnableHolder(numItems); runnables.addOperations(fixture); fixture.cancelAllOperations(); fixture.waitUntilAllOperationsAreFinished(); assertEquals(0, fixture.operationCount().intValue()); int firstFailure = runnables.firstFailure(); assertTrue("Not all should pass: " + firstFailure, 0 < firstFailure && firstFailure < numItems ); assertTrue(runnables.ops[firstFailure].isCancelled()||runnables.ops[firstFailure].isReady()); }