GFramework/GFramework.Core.Tests/Architectures/TestArchitectureContextWithRegistry.cs
gewuyou ff553977e3 chore(license): 补齐 Apache-2.0 文件头治理
- 新增许可证文件头检查与修复脚本

- 补充维护者手动修复 PR 工作流和 CI 校验

- 更新贡献指南中的文件头说明

- 补齐仓库维护源码和配置文件的许可证声明
2026-05-03 19:39:49 +08:00

39 lines
1.3 KiB
C#

// Copyright (c) 2025-2026 GeWuYou
// SPDX-License-Identifier: Apache-2.0
using GFramework.Core.Architectures;
namespace GFramework.Core.Tests.Architectures;
/// <summary>
/// 为 <see cref="RegistryInitializationHookBaseTests" /> 在架构上下文中暴露 <see cref="TestRegistry" /> 的测试替身。
/// </summary>
public class TestArchitectureContextWithRegistry : TestArchitectureContext
{
private readonly TestRegistry _registry;
/// <summary>
/// 使用给定测试注册表创建上下文测试替身。
/// </summary>
/// <param name="registry">需要通过 <see cref="GetUtility{TUtility}" /> 返回的测试注册表。</param>
public TestArchitectureContextWithRegistry(TestRegistry registry)
{
_registry = registry;
}
/// <summary>
/// 在请求 <see cref="TestRegistry" /> 时返回测试注册表,其余类型回退到基类实现。
/// </summary>
/// <typeparam name="TUtility">请求的工具类型。</typeparam>
/// <returns>匹配时返回测试注册表,否则返回基类结果。</returns>
public override TUtility GetUtility<TUtility>()
{
if (typeof(TUtility) == typeof(TestRegistry))
{
return (TUtility)(object)_registry;
}
return base.GetUtility<TUtility>();
}
}