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); }