@Test
	public void testAwaitAsyncExecutionSuccess() {
		
		SyncProcess proc = TestUtil.executionSuccessSyncProcess();
		
		IProcessComponent<Void> busyComp = new BusyComponent(TestUtil.executionSuccessComponent(true));
		IProcessComponent<?> asyncComp = new AsyncComponent<Void>(busyComp);
		proc.add(asyncComp);

		try {
			proc.execute();
		} catch (InvalidProcessStateException ex) {
			fail();
		} catch (ProcessExecutionException ex) {
			fail("Should execute successfully.");
		}

		assertTrue(proc.getState() == ProcessState.EXECUTION_SUCCEEDED);
		assertTrue(asyncComp.getState() == ProcessState.EXECUTION_SUCCEEDED);
	}