using GFramework.Core.Abstractions.Pool;
namespace GFramework.Core.Tests.Pool;
///
/// 供对象池测试使用的池化对象,记录生命周期回调是否被触发。
///
public class TestPoolableObject : IPoolableObject
{
///
/// 获取或设置对象所属的池键。
///
public string PoolKey { get; set; } = string.Empty;
///
/// 获取或设置测试中写入的整数值。
///
public int TestValue { get; set; }
///
/// 获取或设置对象获取回调是否已执行。
///
public bool OnAcquireCalled { get; set; }
///
/// 获取或设置对象释放回调是否已执行。
///
public bool OnReleaseCalled { get; set; }
///
/// 获取或设置对象销毁回调是否已执行。
///
public bool OnPoolDestroyCalled { get; set; }
///
/// 在对象被对象池取出时记录回调执行状态。
///
public void OnAcquire()
{
OnAcquireCalled = true;
}
///
/// 在对象被归还到对象池时记录回调执行状态。
///
public void OnRelease()
{
OnReleaseCalled = true;
}
///
/// 在对象因容量限制或清池而销毁时记录回调执行状态。
///
public void OnPoolDestroy()
{
OnPoolDestroyCalled = true;
}
}