private IEnumerator runTests()
        {
            frameCount = 0;
            yield return(RadicalCoroutine.Run(this, waitForSecondsTest(), "waitForSecondsTest"));

            frameCount = 0;
            yield return(RadicalCoroutine.Run(this, waitForNextFrameTest(), "waitForNextFrameTest"));

            frameCount = 0;
            yield return(RadicalCoroutine.Run(this, waitForFrameTest(), "waitForFrameTest"));

            frameCount = 0;
            yield return(RadicalCoroutine.Run(this, waitForCompositeReturnTest(), "waitForCompositeReturn"));

            yield return(RadicalCoroutine.Run(this, waitForFrameCancelledTest(), "waitForFrameCancelledTest"));

            yield return(RadicalCoroutine.Run(this, waitForDisposedEventTest(), "WaitForDisposedEventTest"));

            yield return(RadicalCoroutine.Run(this, waitForCompletedEventTest(), "waitForCompletedEventTest"));

            yield return(RadicalCoroutine.Run(this, waitForPausedEventTest(), "waitForPausedEventTest"));

            yield return(RadicalCoroutine.Run(this, waitForResumedEventTest(), "waitForResumedEventTest"));

            yield return(RadicalCoroutine.Run(this, cannotAddListenerToEmptyEnumerator(), "cannotAddListenerToEmptyEnumerator"));

            yield return(RadicalCoroutine.Run(this, waitForNestedIEnumeratorTest(), "waitForNestedIEnumeratorTest"));

            IntegrationTest.Pass();
        }
        private IEnumerator waitForNestedIEnumeratorTest()
        {
            frameCount = 0;
            yield return(RadicalCoroutine.Run(this, parentCoroutine(parentCoroutine(new CompositeCoroutineReturn(new WaitForFrame(4)))), "testCoroutine"));

            IntegrationTestEx.FailIf(frameCount != 4, "waitForNestedIEnumeratorTest waited for the incorrect number of frames");
        }