using GFramework.Core.Abstractions.architecture;
using GFramework.Core.Abstractions.enums;
using GFramework.Core.Abstractions.model;
namespace GFramework.Core.Tests.model;
///
/// 一个用于测试的失败模型类,实现IModel接口
/// 该模型在初始化时会故意抛出异常,用于测试异常处理机制
///
public sealed class FailingModel : IModel
{
///
/// 初始化模型
/// 该方法会故意抛出InvalidOperationException异常
///
/// 总是抛出此异常以模拟初始化失败
public void Init()
{
throw new InvalidOperationException("Model init failed intentionally");
}
///
/// 设置架构上下文
/// 该方法为空实现,不执行任何操作
///
/// 架构上下文对象
public void SetContext(IArchitectureContext context)
{
}
///
/// 获取架构上下文
/// 该方法会抛出NotSupportedException异常
///
/// 不返回任何值,总是抛出异常
/// 总是抛出此异常
public IArchitectureContext GetContext()
{
throw new NotSupportedException();
}
///
/// 处理架构阶段事件
/// 该方法为空实现,不执行任何操作
///
/// 当前架构阶段
public void OnArchitecturePhase(ArchitecturePhase phase)
{
}
}