コード例 #1
0
	@Test
	public void listener_exception() throws Exception{
			final CallableAsyncResult<String> t = new CallableAsyncResult<String>(new Callable<String>() {
				@Override
				public String call() throws Exception {					
					throw new NotARealException();
				}
			});
			StatisticsCallback tl=new StatisticsCallback();
			t.addCallback(tl);
			t.start();
			t.start();
			try{
				t.get();
				fail("exception error");
			}catch(ExecutionException ex){
				assertEquals("exception error", NotARealException.class, ex.getCause().getClass());
			}
			tl.check("exception",true);
		
	}
コード例 #2
0
	@Test
	public void listener_cancel() throws Exception{
			final CallableAsyncResult<String> t = new CallableAsyncResult<String>(new Callable<String>() {
				@Override
				public String call() throws Exception {					
					throw new NotARealException();
				}
			});
			StatisticsCallback tl=new StatisticsCallback();
			t.addCallback(tl);
			assertTrue("cancel return false", t.cancel(true));
			assertTrue("cancel return false", t.cancel(true));
			t.start();
			t.start();
			try{
				t.get();
				fail("cancel error");
			}catch(CancellationException ex){
				
			}
			tl.check("cancelled",false);
		
	}
コード例 #3
0
	@Test
	public void listener_succ() throws InterruptedException, ExecutionException{			
			final CallableAsyncResult<String> t4 = new CallableAsyncResult<String>(new Callable<String>() {
				@Override
				public String call() {
					try {
						Thread.sleep(3000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}	
					return "Return value";
				}
			});
			StatisticsCallback t4l=new StatisticsCallback();
			t4.addCallback(t4l);
			t4.start();
			t4.start();
			t4.start();
			assertEquals("get failed", "Return value", t4.get());
			assertEquals("get failed", "Return value", t4.get());
			assertEquals("get failed", "Return value", t4.get());
			t4l.check("completed",true);
	}