using Hua.Todo.Core.Entities; using Xunit; namespace Hua.Todo.Host.Tests; /// /// TaskEntity 单元测试。 /// public class TaskEntityTests { /// /// 测试 TaskEntity 继承自 FullAuditedEntityWithUser。 /// [Fact] public void TaskEntity_InheritsFromFullAuditedEntityWithUser() { // Arrange & Act var task = new TaskEntity(); // Assert Assert.IsAssignableFrom>(task); } /// /// 测试 TaskEntity 主键为 Guid 类型。 /// [Fact] public void TaskEntity_IdIsGuid() { // Arrange & Act var task = new TaskEntity(); // Assert Assert.Equal(Guid.Empty, task.Id); } /// /// 测试 TaskEntity 默认值。 /// [Fact] public void TaskEntity_DefaultValues() { // Arrange & Act var task = new TaskEntity(); // Assert Assert.Equal(string.Empty, task.Title); Assert.Equal(TaskPriority.Medium, task.Priority); Assert.False(task.IsCompleted); Assert.Null(task.ParentTaskId); Assert.Empty(task.SubTasks); Assert.False(task.IsDeleted); Assert.Null(task.DeletionTime); Assert.Null(task.DeleterId); } /// /// 测试创建任务时生成 Guid。 /// [Fact] public void TaskEntity_NewInstance_HasUniqueId() { // Arrange & Act var task1 = new TaskEntity { Id = Guid.NewGuid() }; var task2 = new TaskEntity { Id = Guid.NewGuid() }; // Assert Assert.NotEqual(task1.Id, task2.Id); } } /// /// FullAuditedEntityWithUser 基类单元测试。 /// public class FullAuditedEntityWithUserTests { /// /// 测试 ABP 审计字段默认值。 /// [Fact] public void FullAuditedEntityWithUser_DefaultValues() { // Arrange & Act var entity = new TestAuditedEntity(); // Assert Assert.Equal(Guid.Empty, entity.Id); Assert.False(entity.IsDeleted); Assert.Null(entity.DeletionTime); Assert.Null(entity.DeleterId); Assert.Null(entity.ExtraProperties); Assert.Null(entity.ConcurrencyStamp); Assert.Equal(default, entity.CreationTime); Assert.Null(entity.CreatorId); Assert.Null(entity.LastModificationTime); Assert.Null(entity.LastModifierId); } /// /// 测试 IUser 接口实现。 /// [Fact] public void UserEntity_ImplementsIUser() { // Arrange & Act var user = new UserEntity { Id = Guid.NewGuid(), UserName = "testuser" }; // Assert Assert.IsAssignableFrom>(user); Assert.Equal("testuser", user.UserName); } /// /// 测试子类。 /// private class TestAuditedEntity : FullAuditedEntityWithUser { } }