private IEnumerator waitForCompletedEventTest() { bool completed = false; RadicalCoroutine coroutine = RadicalCoroutine.Create(testCoroutine(), "testCoroutine"); coroutine.ECompleted += delegate { completed = true; }; StartCoroutine(coroutine.Enumerator); yield return(coroutine); IntegrationTestEx.FailIf(!completed, "coroutine did not dispatch ECompleted after completion."); IntegrationTestEx.FailIf(coroutine.Cancelled); }
private IEnumerator waitForFrameCancelledTest() { RadicalCoroutine coroutine = RadicalCoroutine.Create(testCoroutine(), "testCoroutine"); StartCoroutine(coroutine.Enumerator); coroutine.ECancelled += delegate { waitForFrameCancelled = true; }; coroutine.Cancel(); while (!coroutine.Disposed) { yield return(null); } IntegrationTestEx.FailIf(!waitForFrameCancelled, "ECancelled was not dispatched for cancelled coroutine."); }
private IEnumerator waitForResumedEventTest() { bool resumed = false; RadicalCoroutine coroutine = RadicalCoroutine.Create(testCoroutine(), "testCoroutine"); coroutine.EResumed += delegate { resumed = true; }; coroutine.Pause(); StartCoroutine(coroutine.Enumerator); yield return(null); IntegrationTestEx.FailIf(resumed); coroutine.Resume(); yield return(null); IntegrationTestEx.FailIf(!resumed, "coroutine did not dispatch EResumed one frame after resumed"); }
private IEnumerator waitForPausedEventTest() { bool paused = false; RadicalCoroutine coroutine = RadicalCoroutine.Create(testCoroutine(), "testCoroutine"); coroutine.EPaused += delegate { paused = true; }; coroutine.Pause(); StartCoroutine(coroutine.Enumerator); yield return(new WaitForFrame(5)); IntegrationTestEx.FailIf(!paused, "coroutine did not dispatch EPaused after within 5 frames."); IntegrationTestEx.FailIf(!coroutine.Paused); IntegrationTestEx.FailIf(coroutine.Disposed); IntegrationTestEx.FailIf(coroutine.Completed); IntegrationTestEx.FailIf(coroutine.Cancelled); }
private IEnumerator cannotAddListenerToEmptyEnumerator() { RadicalCoroutine radicalCoroutine = RadicalCoroutine.Create(testEmptyCoroutine(), "testEmptyCoroutine"); StartCoroutine(radicalCoroutine.Enumerator); bool flag = false; try { radicalCoroutine.ECompleted += delegate { }; } catch (InvalidOperationException) { flag = true; } IntegrationTestEx.FailIf(!flag); IntegrationTestEx.FailIf(!radicalCoroutine.Disposed); yield break; }