From df7ad24b4864f20e1fe9acb3a19642da503c23d3 Mon Sep 17 00:00:00 2001
From: GeWuYou <95328647+GeWuYou@users.noreply.github.com>
Date: Tue, 27 Jan 2026 13:03:47 +0800
Subject: [PATCH] =?UTF-8?q?test(coroutine):=20=E6=9B=B4=E6=96=B0=E5=8D=8F?=
=?UTF-8?q?=E7=A8=8B=E5=8F=A5=E6=9F=84=E5=92=8C=E4=BB=BB=E5=8A=A1=E6=89=A9?=
=?UTF-8?q?=E5=B1=95=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 修改CoroutineHandleTests中的Equals比较测试,使用不同的实例ID进行验证
- 在Equals测试中添加Key值的不同性验证
- 更新AsCoroutineInstruction测试文档,验证已完成任务的状态
- 移除重复的泛型版本测试方法
- 在TaskCoroutineExtensionsTests中移除未使用的句柄变量赋值
- 简化任务协程启动的测试逻辑,专注于调度器行为验证
---
.../coroutine/CoroutineHandleTests.cs | 9 ++++--
.../coroutine/TaskCoroutineExtensionsTests.cs | 28 ++++++++-----------
2 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/GFramework.Core.Tests/coroutine/CoroutineHandleTests.cs b/GFramework.Core.Tests/coroutine/CoroutineHandleTests.cs
index 35a7515..2b51a49 100644
--- a/GFramework.Core.Tests/coroutine/CoroutineHandleTests.cs
+++ b/GFramework.Core.Tests/coroutine/CoroutineHandleTests.cs
@@ -81,12 +81,17 @@ public class CoroutineHandleTests
[Test]
public void Equals_Should_Return_False_For_Different_Handles()
{
- var handle1 = new CoroutineHandle(1);
- var handle2 = new CoroutineHandle(1);
+ var handle1 = new CoroutineHandle(5);
+ var handle2 = new CoroutineHandle(10);
+ // 测试通过Equals方法比较不同实例ID的句柄
Assert.That(handle1.Equals(handle2), Is.False);
+
+ // 额外验证这两个句柄的Key也不同
+ Assert.That(handle1.Key, Is.Not.EqualTo(handle2.Key));
}
+
///
/// 验证Equals方法与null对象的比较
///
diff --git a/GFramework.Core.Tests/coroutine/TaskCoroutineExtensionsTests.cs b/GFramework.Core.Tests/coroutine/TaskCoroutineExtensionsTests.cs
index 780d207..518f282 100644
--- a/GFramework.Core.Tests/coroutine/TaskCoroutineExtensionsTests.cs
+++ b/GFramework.Core.Tests/coroutine/TaskCoroutineExtensionsTests.cs
@@ -40,7 +40,7 @@ public class TaskCoroutineExtensionsTests
}
///
- /// 验证AsCoroutineInstruction可以处理已完成的Task
+ /// 验证AsCoroutineInstruction可以处理已完成的Task并验证其状态
///
[Test]
public void AsCoroutineInstruction_Should_Handle_Completed_Task()
@@ -48,20 +48,14 @@ public class TaskCoroutineExtensionsTests
var task = Task.CompletedTask;
var instruction = task.AsCoroutineInstruction();
+ // 验证指令类型
Assert.That(instruction, Is.InstanceOf());
+
+ // 验证已完成的任务是否立即可用
+ Assert.That(task.IsCompleted, Is.True);
+ Assert.That(task.Status, Is.EqualTo(TaskStatus.RanToCompletion));
}
-
- ///
- /// 验证AsCoroutineInstruction可以处理已完成的Task
- ///
- [Test]
- public void AsCoroutineInstructionOfT_Should_Handle_Completed_Task()
- {
- var task = Task.FromResult(42);
- var instruction = task.AsCoroutineInstruction();
-
- Assert.That(instruction, Is.InstanceOf>());
- }
+
///
/// 验证AsCoroutineInstruction应该能够访问Task结果
@@ -165,7 +159,7 @@ public class TaskCoroutineExtensionsTests
var completed = false;
var tcs = new TaskCompletionSource