mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-06 16:16:44 +08:00
test(pool): 拆分 ObjectPoolTests 池化辅助类型
- 拆分 TestObjectPool 与 TestPoolableObject 到 Pool 同目录独立文件 - 保留并补充对象池测试辅助类型的 XML 文档与命名空间一致性 - 验证 GFramework.Core.Tests Release 构建通过且当前切片无新增 warning
This commit is contained in:
parent
0b96f01769
commit
3843e5c1dd
@ -1,5 +1,3 @@
|
||||
using GFramework.Core.Abstractions.Pool;
|
||||
using GFramework.Core.Pool;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace GFramework.Core.Tests.Pool;
|
||||
@ -285,81 +283,3 @@ public class ObjectPoolTests
|
||||
Assert.That(_pool.GetActiveCount("key2"), Is.EqualTo(0));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 测试用对象池实现类,继承自AbstractObjectPoolSystem
|
||||
/// </summary>
|
||||
public class TestObjectPool : AbstractObjectPoolSystem<string, TestPoolableObject>
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建新的池化对象
|
||||
/// </summary>
|
||||
/// <param name="key">用于标识对象的键</param>
|
||||
/// <returns>新创建的TestPoolableObject实例</returns>
|
||||
protected override TestPoolableObject Create(string key)
|
||||
{
|
||||
return new TestPoolableObject { PoolKey = key };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化方法,用于对象池初始化时的操作
|
||||
/// </summary>
|
||||
protected override void OnInit()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 测试用池化对象类,实现了IPoolableObject接口
|
||||
/// </summary>
|
||||
public class TestPoolableObject : IPoolableObject
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置对象的池键
|
||||
/// </summary>
|
||||
public string PoolKey { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置测试用的整数值
|
||||
/// </summary>
|
||||
public int TestValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置OnAcquire方法是否被调用的标志
|
||||
/// </summary>
|
||||
public bool OnAcquireCalled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置OnRelease方法是否被调用的标志
|
||||
/// </summary>
|
||||
public bool OnReleaseCalled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置OnPoolDestroy方法是否被调用的标志
|
||||
/// </summary>
|
||||
public bool OnPoolDestroyCalled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对象被获取时的回调方法
|
||||
/// </summary>
|
||||
public void OnAcquire()
|
||||
{
|
||||
OnAcquireCalled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 对象被释放时的回调方法
|
||||
/// </summary>
|
||||
public void OnRelease()
|
||||
{
|
||||
OnReleaseCalled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 对象被销毁时的回调方法
|
||||
/// </summary>
|
||||
public void OnPoolDestroy()
|
||||
{
|
||||
OnPoolDestroyCalled = true;
|
||||
}
|
||||
}
|
||||
27
GFramework.Core.Tests/Pool/TestObjectPool.cs
Normal file
27
GFramework.Core.Tests/Pool/TestObjectPool.cs
Normal file
@ -0,0 +1,27 @@
|
||||
using GFramework.Core.Pool;
|
||||
|
||||
namespace GFramework.Core.Tests.Pool;
|
||||
|
||||
/// <summary>
|
||||
/// 测试用对象池实现类,继承自 <see cref="AbstractObjectPoolSystem{TKey,TValue}" />,
|
||||
/// 用于验证对象池的获取、释放和统计行为。
|
||||
/// </summary>
|
||||
public class TestObjectPool : AbstractObjectPoolSystem<string, TestPoolableObject>
|
||||
{
|
||||
/// <summary>
|
||||
/// 根据池键创建新的测试对象。
|
||||
/// </summary>
|
||||
/// <param name="key">用于标识对象所属池的键。</param>
|
||||
/// <returns>带有对应 <paramref name="key" /> 的测试对象实例。</returns>
|
||||
protected override TestPoolableObject Create(string key)
|
||||
{
|
||||
return new TestPoolableObject { PoolKey = key };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行对象池初始化。
|
||||
/// </summary>
|
||||
protected override void OnInit()
|
||||
{
|
||||
}
|
||||
}
|
||||
58
GFramework.Core.Tests/Pool/TestPoolableObject.cs
Normal file
58
GFramework.Core.Tests/Pool/TestPoolableObject.cs
Normal file
@ -0,0 +1,58 @@
|
||||
using GFramework.Core.Abstractions.Pool;
|
||||
|
||||
namespace GFramework.Core.Tests.Pool;
|
||||
|
||||
/// <summary>
|
||||
/// 供对象池测试使用的池化对象,记录生命周期回调是否被触发。
|
||||
/// </summary>
|
||||
public class TestPoolableObject : IPoolableObject
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置对象所属的池键。
|
||||
/// </summary>
|
||||
public string PoolKey { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置测试中写入的整数值。
|
||||
/// </summary>
|
||||
public int TestValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置对象获取回调是否已执行。
|
||||
/// </summary>
|
||||
public bool OnAcquireCalled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置对象释放回调是否已执行。
|
||||
/// </summary>
|
||||
public bool OnReleaseCalled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置对象销毁回调是否已执行。
|
||||
/// </summary>
|
||||
public bool OnPoolDestroyCalled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 在对象被对象池取出时记录回调执行状态。
|
||||
/// </summary>
|
||||
public void OnAcquire()
|
||||
{
|
||||
OnAcquireCalled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在对象被归还到对象池时记录回调执行状态。
|
||||
/// </summary>
|
||||
public void OnRelease()
|
||||
{
|
||||
OnReleaseCalled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在对象因容量限制或清池而销毁时记录回调执行状态。
|
||||
/// </summary>
|
||||
public void OnPoolDestroy()
|
||||
{
|
||||
OnPoolDestroyCalled = true;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user