diff --git a/GFramework.Core.Tests/Architectures/IMixedTestSystem.cs b/GFramework.Core.Tests/Architectures/IMixedTestSystem.cs new file mode 100644 index 00000000..e777e361 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/IMixedTestSystem.cs @@ -0,0 +1,10 @@ +using GFramework.Core.Abstractions.Systems; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 定义用于混合优先级排序测试的系统契约。 +/// +public interface IMixedTestSystem : ISystem +{ +} diff --git a/GFramework.Core.Tests/Architectures/IPriorityTestModel.cs b/GFramework.Core.Tests/Architectures/IPriorityTestModel.cs new file mode 100644 index 00000000..2bda2258 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/IPriorityTestModel.cs @@ -0,0 +1,10 @@ +using GFramework.Core.Abstractions.Model; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 定义用于优先级排序测试的模型契约。 +/// +public interface IPriorityTestModel : IModel +{ +} diff --git a/GFramework.Core.Tests/Architectures/IPriorityTestSystem.cs b/GFramework.Core.Tests/Architectures/IPriorityTestSystem.cs new file mode 100644 index 00000000..9ea25cde --- /dev/null +++ b/GFramework.Core.Tests/Architectures/IPriorityTestSystem.cs @@ -0,0 +1,10 @@ +using GFramework.Core.Abstractions.Systems; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 定义用于优先级排序测试的系统契约。 +/// +public interface IPriorityTestSystem : ISystem +{ +} diff --git a/GFramework.Core.Tests/Architectures/IPriorityTestUtility.cs b/GFramework.Core.Tests/Architectures/IPriorityTestUtility.cs new file mode 100644 index 00000000..8f499dc0 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/IPriorityTestUtility.cs @@ -0,0 +1,10 @@ +using GFramework.Core.Abstractions.Utility; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 定义用于优先级排序测试的工具契约。 +/// +public interface IPriorityTestUtility : IUtility +{ +} diff --git a/GFramework.Core.Tests/Architectures/MixedTestSystemNegativePriority.cs b/GFramework.Core.Tests/Architectures/MixedTestSystemNegativePriority.cs new file mode 100644 index 00000000..fa59af18 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/MixedTestSystemNegativePriority.cs @@ -0,0 +1,21 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示显式声明负优先级的混合测试系统。 +/// +public class MixedTestSystemNegativePriority : AbstractSystem, IMixedTestSystem, IPrioritized +{ + /// + /// 获取当前测试系统的排序优先级。 + /// + public int Priority => -10; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/MixedTestSystemWithPriority.cs b/GFramework.Core.Tests/Architectures/MixedTestSystemWithPriority.cs new file mode 100644 index 00000000..c938ef37 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/MixedTestSystemWithPriority.cs @@ -0,0 +1,21 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示显式声明正优先级的混合测试系统。 +/// +public class MixedTestSystemWithPriority : AbstractSystem, IMixedTestSystem, IPrioritized +{ + /// + /// 获取当前测试系统的排序优先级。 + /// + public int Priority => 10; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/MixedTestSystemWithoutPriority.cs b/GFramework.Core.Tests/Architectures/MixedTestSystemWithoutPriority.cs new file mode 100644 index 00000000..ba418c39 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/MixedTestSystemWithoutPriority.cs @@ -0,0 +1,16 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示未声明优先级、依赖默认排序值的混合测试系统。 +/// +public class MixedTestSystemWithoutPriority : AbstractSystem, IMixedTestSystem +{ + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/PriorityServiceTests.cs b/GFramework.Core.Tests/Architectures/PriorityServiceTests.cs index 0499a4ab..2d53611c 100644 --- a/GFramework.Core.Tests/Architectures/PriorityServiceTests.cs +++ b/GFramework.Core.Tests/Architectures/PriorityServiceTests.cs @@ -1,12 +1,7 @@ using System.Reflection; -using GFramework.Core.Abstractions.Bases; using GFramework.Core.Abstractions.Logging; -using GFramework.Core.Abstractions.Model; -using GFramework.Core.Abstractions.Systems; -using GFramework.Core.Abstractions.Utility; using GFramework.Core.Ioc; using GFramework.Core.Logging; -using GFramework.Core.Model; namespace GFramework.Core.Tests.Architectures; @@ -120,129 +115,3 @@ public class PriorityServiceTests Assert.That(systems[2], Is.InstanceOf()); // 10 } } - -#region Test Interfaces - -public interface IPriorityTestSystem : ISystem -{ -} - -public interface IPriorityTestModel : IModel -{ -} - -public interface IPriorityTestUtility : IUtility -{ -} - -public interface IMixedTestSystem : ISystem -{ -} - -#endregion - -#region Test Systems - -public class PriorityTestSystemA : AbstractSystem, IPriorityTestSystem, IPrioritized -{ - public int Priority => 10; - - protected override void OnInit() - { - } -} - -public class PriorityTestSystemB : AbstractSystem, IPriorityTestSystem, IPrioritized -{ - public int Priority => 20; - - protected override void OnInit() - { - } -} - -public class PriorityTestSystemC : AbstractSystem, IPriorityTestSystem, IPrioritized -{ - public int Priority => 30; - - protected override void OnInit() - { - } -} - -public class MixedTestSystemWithPriority : AbstractSystem, IMixedTestSystem, IPrioritized -{ - public int Priority => 10; - - protected override void OnInit() - { - } -} - -public class MixedTestSystemWithoutPriority : AbstractSystem, IMixedTestSystem -{ - protected override void OnInit() - { - } -} - -public class MixedTestSystemNegativePriority : AbstractSystem, IMixedTestSystem, IPrioritized -{ - public int Priority => -10; - - protected override void OnInit() - { - } -} - -#endregion - -#region Test Models - -public class PriorityTestModelA : AbstractModel, IPriorityTestModel, IPrioritized -{ - public int Priority => 10; - - protected override void OnInit() - { - } -} - -public class PriorityTestModelB : AbstractModel, IPriorityTestModel, IPrioritized -{ - public int Priority => 20; - - protected override void OnInit() - { - } -} - -public class PriorityTestModelC : AbstractModel, IPriorityTestModel, IPrioritized -{ - public int Priority => 30; - - protected override void OnInit() - { - } -} - -#endregion - -#region Test Utilities - -public class PriorityTestUtilityA : IPriorityTestUtility, IPrioritized -{ - public int Priority => 10; -} - -public class PriorityTestUtilityB : IPriorityTestUtility, IPrioritized -{ - public int Priority => 20; -} - -public class PriorityTestUtilityC : IPriorityTestUtility, IPrioritized -{ - public int Priority => 30; -} - -#endregion diff --git a/GFramework.Core.Tests/Architectures/PriorityTestModelA.cs b/GFramework.Core.Tests/Architectures/PriorityTestModelA.cs new file mode 100644 index 00000000..dd1b2838 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestModelA.cs @@ -0,0 +1,22 @@ +using GFramework.Core.Abstractions.Bases; +using GFramework.Core.Model; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 10 的测试模型。 +/// +public class PriorityTestModelA : AbstractModel, IPriorityTestModel, IPrioritized +{ + /// + /// 获取当前测试模型的排序优先级。 + /// + public int Priority => 10; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestModelB.cs b/GFramework.Core.Tests/Architectures/PriorityTestModelB.cs new file mode 100644 index 00000000..62560b44 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestModelB.cs @@ -0,0 +1,22 @@ +using GFramework.Core.Abstractions.Bases; +using GFramework.Core.Model; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 20 的测试模型。 +/// +public class PriorityTestModelB : AbstractModel, IPriorityTestModel, IPrioritized +{ + /// + /// 获取当前测试模型的排序优先级。 + /// + public int Priority => 20; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestModelC.cs b/GFramework.Core.Tests/Architectures/PriorityTestModelC.cs new file mode 100644 index 00000000..2991cc1f --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestModelC.cs @@ -0,0 +1,22 @@ +using GFramework.Core.Abstractions.Bases; +using GFramework.Core.Model; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 30 的测试模型。 +/// +public class PriorityTestModelC : AbstractModel, IPriorityTestModel, IPrioritized +{ + /// + /// 获取当前测试模型的排序优先级。 + /// + public int Priority => 30; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestSystemA.cs b/GFramework.Core.Tests/Architectures/PriorityTestSystemA.cs new file mode 100644 index 00000000..3c7baaed --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestSystemA.cs @@ -0,0 +1,21 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 10 的测试系统。 +/// +public class PriorityTestSystemA : AbstractSystem, IPriorityTestSystem, IPrioritized +{ + /// + /// 获取当前测试系统的排序优先级。 + /// + public int Priority => 10; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestSystemB.cs b/GFramework.Core.Tests/Architectures/PriorityTestSystemB.cs new file mode 100644 index 00000000..5dbe0fa2 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestSystemB.cs @@ -0,0 +1,21 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 20 的测试系统。 +/// +public class PriorityTestSystemB : AbstractSystem, IPriorityTestSystem, IPrioritized +{ + /// + /// 获取当前测试系统的排序优先级。 + /// + public int Priority => 20; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestSystemC.cs b/GFramework.Core.Tests/Architectures/PriorityTestSystemC.cs new file mode 100644 index 00000000..5033db63 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestSystemC.cs @@ -0,0 +1,21 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 30 的测试系统。 +/// +public class PriorityTestSystemC : AbstractSystem, IPriorityTestSystem, IPrioritized +{ + /// + /// 获取当前测试系统的排序优先级。 + /// + public int Priority => 30; + + /// + /// 保持空初始化,以便测试仅覆盖优先级排序行为。 + /// + protected override void OnInit() + { + } +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestUtilityA.cs b/GFramework.Core.Tests/Architectures/PriorityTestUtilityA.cs new file mode 100644 index 00000000..52c91a96 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestUtilityA.cs @@ -0,0 +1,14 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 10 的测试工具。 +/// +public class PriorityTestUtilityA : IPriorityTestUtility, IPrioritized +{ + /// + /// 获取当前测试工具的排序优先级。 + /// + public int Priority => 10; +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestUtilityB.cs b/GFramework.Core.Tests/Architectures/PriorityTestUtilityB.cs new file mode 100644 index 00000000..3d36ad10 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestUtilityB.cs @@ -0,0 +1,14 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 20 的测试工具。 +/// +public class PriorityTestUtilityB : IPriorityTestUtility, IPrioritized +{ + /// + /// 获取当前测试工具的排序优先级。 + /// + public int Priority => 20; +} diff --git a/GFramework.Core.Tests/Architectures/PriorityTestUtilityC.cs b/GFramework.Core.Tests/Architectures/PriorityTestUtilityC.cs new file mode 100644 index 00000000..6c164079 --- /dev/null +++ b/GFramework.Core.Tests/Architectures/PriorityTestUtilityC.cs @@ -0,0 +1,14 @@ +using GFramework.Core.Abstractions.Bases; + +namespace GFramework.Core.Tests.Architectures; + +/// +/// 表示优先级为 30 的测试工具。 +/// +public class PriorityTestUtilityC : IPriorityTestUtility, IPrioritized +{ + /// + /// 获取当前测试工具的排序优先级。 + /// + public int Priority => 30; +}