mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 为 ContextAware 功能添加全面的单元测试覆盖 - 增加对枚举扩展生成器的快照测试验证 - 实现环境管理器的完整测试用例集 - 添加事件总线功能的核心测试验证 - 为游戏上下文管理添加架构测试 - 扩展注销列表扩展方法的测试覆盖 - 增加注销机制的全面单元测试验证 - [skip ci]
149 lines
5.1 KiB
C#
149 lines
5.1 KiB
C#
using GFramework.SourceGenerators.enums;
|
|
using GFramework.SourceGenerators.Tests.core;
|
|
using NUnit.Framework;
|
|
|
|
namespace GFramework.SourceGenerators.Tests.enums;
|
|
|
|
[TestFixture]
|
|
public class EnumExtensionsGeneratorSnapshotTests
|
|
{
|
|
[Test]
|
|
public async Task Snapshot_BasicEnum_IsMethods()
|
|
{
|
|
const string source = """
|
|
using GFramework.SourceGenerators.Abstractions.enums;
|
|
|
|
namespace TestApp
|
|
{
|
|
[GenerateEnumExtensions]
|
|
public enum Status
|
|
{
|
|
Active,
|
|
Inactive,
|
|
Pending
|
|
}
|
|
}
|
|
""";
|
|
|
|
await GeneratorSnapshotTest<EnumExtensionsGenerator>.RunAsync(
|
|
source,
|
|
Path.Combine(
|
|
TestContext.CurrentContext.TestDirectory,
|
|
"enums",
|
|
"snapshots",
|
|
"EnumExtensionsGenerator",
|
|
"BasicEnum_IsMethods"));
|
|
}
|
|
|
|
[Test]
|
|
public async Task Snapshot_BasicEnum_IsInMethod()
|
|
{
|
|
const string source = """
|
|
using GFramework.SourceGenerators.Abstractions.enums;
|
|
|
|
namespace TestApp
|
|
{
|
|
[GenerateEnumExtensions]
|
|
public enum Status
|
|
{
|
|
Active,
|
|
Inactive
|
|
}
|
|
}
|
|
""";
|
|
|
|
await GeneratorSnapshotTest<EnumExtensionsGenerator>.RunAsync(
|
|
source,
|
|
Path.Combine(
|
|
TestContext.CurrentContext.TestDirectory,
|
|
"enums",
|
|
"snapshots",
|
|
"EnumExtensionsGenerator",
|
|
"BasicEnum_IsInMethod"));
|
|
}
|
|
|
|
[Test]
|
|
public async Task Snapshot_EnumWithFlagValues()
|
|
{
|
|
const string source = """
|
|
using GFramework.SourceGenerators.Abstractions.enums;
|
|
using System;
|
|
|
|
namespace TestApp
|
|
{
|
|
[GenerateEnumExtensions]
|
|
[Flags]
|
|
public enum Permissions
|
|
{
|
|
None = 0,
|
|
Read = 1,
|
|
Write = 2,
|
|
Execute = 4
|
|
}
|
|
}
|
|
""";
|
|
|
|
await GeneratorSnapshotTest<EnumExtensionsGenerator>.RunAsync(
|
|
source,
|
|
Path.Combine(
|
|
TestContext.CurrentContext.TestDirectory,
|
|
"enums",
|
|
"snapshots",
|
|
"EnumExtensionsGenerator",
|
|
"EnumWithFlagValues"));
|
|
}
|
|
|
|
[Test]
|
|
public async Task Snapshot_DisableIsMethods()
|
|
{
|
|
const string source = """
|
|
using GFramework.SourceGenerators.Abstractions.enums;
|
|
|
|
namespace TestApp
|
|
{
|
|
[GenerateEnumExtensions(GenerateIsMethods = false)]
|
|
public enum Status
|
|
{
|
|
Active,
|
|
Inactive
|
|
}
|
|
}
|
|
""";
|
|
|
|
await GeneratorSnapshotTest<EnumExtensionsGenerator>.RunAsync(
|
|
source,
|
|
Path.Combine(
|
|
TestContext.CurrentContext.TestDirectory,
|
|
"enums",
|
|
"snapshots",
|
|
"EnumExtensionsGenerator",
|
|
"DisableIsMethods"));
|
|
}
|
|
|
|
[Test]
|
|
public async Task Snapshot_DisableIsInMethod()
|
|
{
|
|
const string source = """
|
|
using GFramework.SourceGenerators.Abstractions.enums;
|
|
|
|
namespace TestApp
|
|
{
|
|
[GenerateEnumExtensions(GenerateIsInMethod = false)]
|
|
public enum Status
|
|
{
|
|
Active,
|
|
Inactive
|
|
}
|
|
}
|
|
""";
|
|
|
|
await GeneratorSnapshotTest<EnumExtensionsGenerator>.RunAsync(
|
|
source,
|
|
Path.Combine(
|
|
TestContext.CurrentContext.TestDirectory,
|
|
"enums",
|
|
"snapshots",
|
|
"EnumExtensionsGenerator",
|
|
"DisableIsInMethod"));
|
|
}
|
|
} |