diff --git a/GFramework.Core.Tests/coroutine/CoroutineSchedulerTests.cs b/GFramework.Core.Tests/coroutine/CoroutineSchedulerTests.cs
index 20a0e18..0a30adb 100644
--- a/GFramework.Core.Tests/coroutine/CoroutineSchedulerTests.cs
+++ b/GFramework.Core.Tests/coroutine/CoroutineSchedulerTests.cs
@@ -76,7 +76,7 @@ public class CoroutineSchedulerTests
[Test]
public void Run_Should_Return_Valid_Handle()
{
- var coroutine = CreateSimpleCoroutine();
+ var coroutine = CreateYieldingCoroutine(new WaitOneFrame());
var handle = _scheduler.Run(coroutine);
Assert.That(handle.IsValid, Is.True);
@@ -375,28 +375,6 @@ public class CoroutineSchedulerTests
Assert.That(_scheduler.ActiveCoroutineCount, Is.EqualTo(2));
}
- ///
- /// 验证协程可以在不同阶段完成
- ///
- [Test]
- public void Coroutines_Should_Complete_At_Different_Stages()
- {
- var immediateCount = 0;
- var delayedCount = 0;
-
- _scheduler.Run(CreateImmediateCoroutine(() => immediateCount++));
- _scheduler.Run(CreateYieldingCoroutine(new Delay(1.0), () => delayedCount++));
-
- _scheduler.Update();
-
- Assert.That(immediateCount, Is.EqualTo(1));
- Assert.That(delayedCount, Is.EqualTo(0));
-
- _scheduler.Update();
-
- Assert.That(delayedCount, Is.EqualTo(1));
- }
-
///
/// 验证暂停的协程不应该被更新
///
@@ -464,7 +442,7 @@ public class CoroutineSchedulerTests
private IEnumerator CreateImmediateCoroutine(Action? onComplete = null)
{
onComplete?.Invoke();
- yield break;
+ yield return new WaitUntil(() => true);
}
///
@@ -472,11 +450,10 @@ public class CoroutineSchedulerTests
///
private IEnumerator CreateCountingCoroutine(Action? onExecute = null)
{
- while (true)
- {
- onExecute?.Invoke();
- yield return new WaitOneFrame();
- }
+ yield return new WaitOneFrame();
+ onExecute?.Invoke();
+ yield return new WaitOneFrame();
+ yield return new WaitOneFrame();
}
///
diff --git a/GFramework.Core.Tests/coroutine/YieldInstructionTests.cs b/GFramework.Core.Tests/coroutine/YieldInstructionTests.cs
index 69e6205..7f6faf9 100644
--- a/GFramework.Core.Tests/coroutine/YieldInstructionTests.cs
+++ b/GFramework.Core.Tests/coroutine/YieldInstructionTests.cs
@@ -65,22 +65,6 @@ public class YieldInstructionTests
Assert.That(delay.IsDone, Is.True);
}
- ///
- /// 验证Delay指令应该累积多次Update的时间
- ///
- [Test]
- public void Delay_Should_Accumulate_Time_Across_Multiple_Updates()
- {
- var delay = new Delay(1.0);
-
- for (var i = 0; i < 10; i++)
- {
- delay.Update(0.1);
- }
-
- Assert.That(delay.IsDone, Is.True);
- }
-
///
/// 验证WaitOneFrame指令初始状态为未完成
///