using GFramework.Core.Abstractions.Logging;
using GFramework.Core.Utility;
namespace GFramework.Core.Tests.Utility;
///
/// 为 提供的基础上下文工具测试桩。
///
public sealed class TestContextUtilityV1 : AbstractContextUtility
{
///
/// 获取一个值,该值指示当前工具是否已完成初始化。
///
public bool Initialized { get; private set; }
///
/// 获取一个值,该值指示当前工具是否已执行销毁逻辑。
///
public bool Destroyed { get; private set; }
///
/// 获取一个值,该值指示测试专用的 钩子是否已被调用。
/// 该标记与 共享同一执行时机,但单独暴露以便断言钩子本身已运行。
///
public bool InitCalled { get; private set; }
///
/// 获取初始化阶段创建的日志记录器,供测试断言使用。
///
/// 初始化后缓存的日志记录器;初始化前返回 。
public ILogger? GetLogger()
{
return Logger;
}
///
/// 记录初始化已发生,并标记测试钩子调用状态。
///
protected override void OnInit()
{
Initialized = true;
InitCalled = true;
}
///
/// 记录销毁流程已运行,供生命周期测试断言使用。
///
protected override void OnDestroy()
{
Destroyed = true;
}
///
/// 重置销毁标记,供同一实例的重复生命周期测试在下一轮初始化前清理观测状态。
///
public void ResetDestroyedStateForTest()
{
Destroyed = false;
}
}