public IEnumerator TestDoBefore()
        {
            var done = false;

            Coroutines.RepeatWhile(() => false, () => done = true).Start();
            Assert.IsFalse(done);
            yield return(null);

            yield return(null);

            Assert.IsFalse(done);

            var called = false;

            Coroutines.DoBefore(() => done = true, Coroutines.RepeatWhile(() => false, () => called = true)).Start();
            Assert.IsFalse(called);
            Assert.IsTrue(done);
            yield return(null);

            yield return(null);

            Assert.IsFalse(called);
        }