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指令初始状态为未完成 ///