diff --git a/TUnit.Core.SourceGenerator.Tests/AssemblyAfterTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/AssemblyAfterTests.Test.verified.txt index 660058ea7c..6cffc258bd 100644 --- a/TUnit.Core.SourceGenerator.Tests/AssemblyAfterTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/AssemblyAfterTests.Test.verified.txt @@ -1,4 +1,4 @@ -// +// #pragma warning disable #nullable enable @@ -29,7 +29,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase1_AfterAll1_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase1).Assembly, + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase1_AfterAll1_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase1).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + static __registrationIndex => new AfterAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -55,7 +56,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyBase1_AfterAll1_After_Assembly.TUnit_TestProject_AfterTests_AssemblyBase1_AfterAll1_After_AssemblyInitializer.global_TUnit_TestProject_AfterTests_AssemblyBase1_AfterAll1_0Params_Body, FilePath = @"", LineNumber = 5 @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase1_AfterEach1_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase1), + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase1_AfterEach1_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase1), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.AssemblyBase1), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyBase1_AfterEach1_After_Test.TUnit_TestProject_AfterTests_AssemblyBase1_AfterEach1_After_TestInitializer.global_TUnit_TestProject_AfterTests_AssemblyBase1_AfterEach1_0Params_Body } ); @@ -167,7 +169,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase2_AfterAll2_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase2).Assembly, + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase2_AfterAll2_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase2).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + static __registrationIndex => new AfterAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -193,7 +196,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyBase2_AfterAll2_After_Assembly.TUnit_TestProject_AfterTests_AssemblyBase2_AfterAll2_After_AssemblyInitializer.global_TUnit_TestProject_AfterTests_AssemblyBase2_AfterAll2_0Params_Body, FilePath = @"", LineNumber = 20 @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase2_AfterEach2_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase2), + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase2_AfterEach2_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase2), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.AssemblyBase2), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyBase2_AfterEach2_After_Test.TUnit_TestProject_AfterTests_AssemblyBase2_AfterEach2_After_TestInitializer.global_TUnit_TestProject_AfterTests_AssemblyBase2_AfterEach2_0Params_Body } ); @@ -305,7 +309,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase3_AfterAll3_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase3).Assembly, + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase3_AfterAll3_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase3).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + static __registrationIndex => new AfterAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -331,7 +336,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyBase3_AfterAll3_After_Assembly.TUnit_TestProject_AfterTests_AssemblyBase3_AfterAll3_After_AssemblyInitializer.global_TUnit_TestProject_AfterTests_AssemblyBase3_AfterAll3_0Params_Body, FilePath = @"", LineNumber = 35 @@ -375,7 +380,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase3_AfterEach3_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase3), + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyBase3_AfterEach3_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyBase3), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.AssemblyBase3), @@ -402,7 +408,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyBase3_AfterEach3_After_Test.TUnit_TestProject_AfterTests_AssemblyBase3_AfterEach3_After_TestInitializer.global_TUnit_TestProject_AfterTests_AssemblyBase3_AfterEach3_0Params_Body } ); @@ -443,7 +449,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + static __registrationIndex => new AfterAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -469,7 +476,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp_After_Assembly.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp_After_AssemblyInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp_0Params_Body, FilePath = @"", LineNumber = 50 @@ -512,7 +519,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContext__AssemblyHookContext_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContext__AssemblyHookContext_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + static __registrationIndex => new AfterAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -541,7 +549,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContext__AssemblyHookContext_After_Assembly.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContext__AssemblyHookContext_After_AssemblyInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContext_1Params_Body, FilePath = @"", LineNumber = 56 @@ -584,7 +592,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp2_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp2_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + static __registrationIndex => new AfterAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -610,7 +619,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp2_After_Assembly.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp2_After_AssemblyInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUp2_0Params_Body, FilePath = @"", LineNumber = 62 @@ -653,7 +662,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContextAndToken__AssemblyHookContext_CancellationToken_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContextAndToken__AssemblyHookContext_CancellationToken_After_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterAssemblyHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + static __registrationIndex => new AfterAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -683,7 +693,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContextAndToken__AssemblyHookContext_CancellationToken_After_Assembly.TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContextAndToken__AssemblyHookContext_CancellationToken_After_AssemblyInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_AfterAllCleanUpWithContextAndToken_2Params_Body, FilePath = @"", LineNumber = 68 @@ -727,7 +737,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), @@ -754,7 +765,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup_After_Test.TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup_After_TestInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup_0Params_Body } ); @@ -796,7 +807,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup__CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup__CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), @@ -826,7 +838,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup__CancellationToken_After_Test.TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup__CancellationToken_After_TestInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_Cleanup_1Params_Body } ); @@ -868,7 +880,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), @@ -898,7 +911,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_After_Test.TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_After_TestInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext_1Params_Body } ); @@ -940,7 +953,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), + static readonly int _h_TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.AssemblyCleanupTests), @@ -971,7 +985,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_CancellationToken_After_Test.TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext__TestContext_CancellationToken_After_TestInitializer.global_TUnit_TestProject_AfterTests_AssemblyCleanupTests_CleanupWithContext_2Params_Body } ); diff --git a/TUnit.Core.SourceGenerator.Tests/AssemblyBeforeTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/AssemblyBeforeTests.Test.verified.txt index b9e9451d7a..94b3d0f25d 100644 --- a/TUnit.Core.SourceGenerator.Tests/AssemblyBeforeTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/AssemblyBeforeTests.Test.verified.txt @@ -1,4 +1,4 @@ -// +// #pragma warning disable #nullable enable @@ -29,7 +29,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeAll1_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase1).Assembly, + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeAll1_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase1).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + static __registrationIndex => new BeforeAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -55,7 +56,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeAll1_Before_Assembly.TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeAll1_Before_AssemblyInitializer.global_TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeAll1_0Params_Body, FilePath = @"", LineNumber = 5 @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase1), + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase1), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeEach1_Before_Test.TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeEach1_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_AssemblyBase1_BeforeEach1_0Params_Body } ); @@ -167,7 +169,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeAll2_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase2).Assembly, + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeAll2_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase2).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + static __registrationIndex => new BeforeAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -193,7 +196,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeAll2_Before_Assembly.TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeAll2_Before_AssemblyInitializer.global_TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeAll2_0Params_Body, FilePath = @"", LineNumber = 20 @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase2), + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase2), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeEach2_Before_Test.TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeEach2_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_AssemblyBase2_BeforeEach2_0Params_Body } ); @@ -305,7 +309,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeAll3_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase3).Assembly, + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeAll3_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase3).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + static __registrationIndex => new BeforeAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -331,7 +336,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeAll3_Before_Assembly.TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeAll3_Before_AssemblyInitializer.global_TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeAll3_0Params_Body, FilePath = @"", LineNumber = 35 @@ -375,7 +380,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase3), + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.AssemblyBase3), @@ -402,7 +408,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeEach3_Before_Test.TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeEach3_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_AssemblyBase3_BeforeEach3_0Params_Body } ); @@ -443,7 +449,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + static __registrationIndex => new BeforeAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -469,7 +476,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp_Before_Assembly.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp_Before_AssemblyInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp_0Params_Body, FilePath = @"", LineNumber = 50 @@ -512,7 +519,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + static __registrationIndex => new BeforeAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -541,7 +549,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_Before_Assembly.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_Before_AssemblyInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext_1Params_Body, FilePath = @"", LineNumber = 56 @@ -584,7 +592,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp2_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp2_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + static __registrationIndex => new BeforeAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -610,7 +619,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp2_Before_Assembly.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp2_Before_AssemblyInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUp2_0Params_Body, FilePath = @"", LineNumber = 62 @@ -653,7 +662,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_CancellationToken_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_CancellationToken_Before_Assembly = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeAssemblyHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests).Assembly, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + static __registrationIndex => new BeforeAssemblyHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -683,7 +693,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeAssemblyHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_CancellationToken_Before_Assembly.TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext__AssemblyHookContext_CancellationToken_Before_AssemblyInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_BeforeAllSetUpWithContext_2Params_Body, FilePath = @"", LineNumber = 68 @@ -727,7 +737,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), @@ -754,7 +765,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup_Before_Test.TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup_0Params_Body } ); @@ -796,7 +807,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), @@ -826,7 +838,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup__CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup__CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_Setup_1Params_Body } ); @@ -868,7 +880,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), @@ -898,7 +911,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_Before_Test.TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext_1Params_Body } ); @@ -940,7 +953,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.AssemblySetupTests), @@ -971,7 +985,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext__TestContext_CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_AssemblySetupTests_SetupWithContext_2Params_Body } ); diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet10_0.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet10_0.verified.txt index 9540ecd25b..2f50bccc15 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet10_0.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet10_0.verified.txt @@ -29,7 +29,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -55,7 +56,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_0Params_Body, FilePath = @"", LineNumber = 5 @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base1), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_0Params_Body } ); @@ -167,7 +169,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -193,7 +196,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_0Params_Body, FilePath = @"", LineNumber = 20 @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base2), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_0Params_Body } ); @@ -305,7 +309,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -331,7 +336,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_0Params_Body, FilePath = @"", LineNumber = 35 @@ -375,7 +380,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base3), @@ -402,7 +408,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_0Params_Body } ); @@ -443,7 +449,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -469,7 +476,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_0Params_Body, FilePath = @"", LineNumber = 50 @@ -512,7 +519,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -541,7 +549,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_1Params_Body, FilePath = @"", LineNumber = 56 @@ -584,7 +592,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -613,7 +622,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_1Params_Body, FilePath = @"", LineNumber = 62 @@ -656,7 +665,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -686,7 +696,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_2Params_Body, FilePath = @"", LineNumber = 68 @@ -730,7 +740,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -757,7 +768,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_0Params_Body } ); @@ -799,7 +810,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -829,7 +841,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_1Params_Body } ); @@ -871,7 +883,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -901,7 +914,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_1Params_Body } ); @@ -943,7 +956,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -974,7 +988,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_2Params_Body } ); diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet8_0.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet8_0.verified.txt index 9540ecd25b..2f50bccc15 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet8_0.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet8_0.verified.txt @@ -29,7 +29,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -55,7 +56,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_0Params_Body, FilePath = @"", LineNumber = 5 @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base1), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_0Params_Body } ); @@ -167,7 +169,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -193,7 +196,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_0Params_Body, FilePath = @"", LineNumber = 20 @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base2), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_0Params_Body } ); @@ -305,7 +309,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -331,7 +336,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_0Params_Body, FilePath = @"", LineNumber = 35 @@ -375,7 +380,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base3), @@ -402,7 +408,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_0Params_Body } ); @@ -443,7 +449,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -469,7 +476,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_0Params_Body, FilePath = @"", LineNumber = 50 @@ -512,7 +519,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -541,7 +549,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_1Params_Body, FilePath = @"", LineNumber = 56 @@ -584,7 +592,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -613,7 +622,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_1Params_Body, FilePath = @"", LineNumber = 62 @@ -656,7 +665,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -686,7 +696,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_2Params_Body, FilePath = @"", LineNumber = 68 @@ -730,7 +740,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -757,7 +768,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_0Params_Body } ); @@ -799,7 +810,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -829,7 +841,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_1Params_Body } ); @@ -871,7 +883,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -901,7 +914,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_1Params_Body } ); @@ -943,7 +956,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -974,7 +988,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_2Params_Body } ); diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet9_0.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet9_0.verified.txt index 9540ecd25b..2f50bccc15 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet9_0.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.DotNet9_0.verified.txt @@ -29,7 +29,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -55,7 +56,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_0Params_Body, FilePath = @"", LineNumber = 5 @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base1), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_0Params_Body } ); @@ -167,7 +169,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -193,7 +196,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_0Params_Body, FilePath = @"", LineNumber = 20 @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base2), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_0Params_Body } ); @@ -305,7 +309,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -331,7 +336,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_0Params_Body, FilePath = @"", LineNumber = 35 @@ -375,7 +380,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base3), @@ -402,7 +408,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_0Params_Body } ); @@ -443,7 +449,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -469,7 +476,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_0Params_Body, FilePath = @"", LineNumber = 50 @@ -512,7 +519,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -541,7 +549,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_1Params_Body, FilePath = @"", LineNumber = 56 @@ -584,7 +592,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -613,7 +622,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_1Params_Body, FilePath = @"", LineNumber = 62 @@ -656,7 +665,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -686,7 +696,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_2Params_Body, FilePath = @"", LineNumber = 68 @@ -730,7 +740,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -757,7 +768,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_0Params_Body } ); @@ -799,7 +810,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -829,7 +841,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_1Params_Body } ); @@ -871,7 +883,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -901,7 +914,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_1Params_Body } ); @@ -943,7 +956,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -974,7 +988,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_2Params_Body } ); diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.Net4_7.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.Net4_7.verified.txt index 179b94d842..731032feb0 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.Net4_7.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.HooksTest_WithConflictingNamespace.Net4_7.verified.txt @@ -29,7 +29,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -55,7 +56,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_Class.TUnit_TestProject_BeforeTests_Base1_BeforeAll1_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeAll1_0Params_Body, FilePath = @"", LineNumber = 5 @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), + static readonly int _h_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base1), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_Test.TUnit_TestProject_BeforeTests_Base1_BeforeEach1_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base1_BeforeEach1_0Params_Body } ); @@ -167,7 +169,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -193,7 +196,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_Class.TUnit_TestProject_BeforeTests_Base2_BeforeAll2_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeAll2_0Params_Body, FilePath = @"", LineNumber = 20 @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), + static readonly int _h_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base2), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_Test.TUnit_TestProject_BeforeTests_Base2_BeforeEach2_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base2_BeforeEach2_0Params_Body } ); @@ -305,7 +309,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -331,7 +336,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_Class.TUnit_TestProject_BeforeTests_Base3_BeforeAll3_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeAll3_0Params_Body, FilePath = @"", LineNumber = 35 @@ -375,7 +380,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), + static readonly int _h_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.Base3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.Base3), @@ -402,7 +408,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_Test.TUnit_TestProject_BeforeTests_Base3_BeforeEach3_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_Base3_BeforeEach3_0Params_Body } ); @@ -443,7 +449,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -469,7 +476,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_0Params_Body, FilePath = @"", LineNumber = 50 @@ -512,7 +519,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -541,7 +549,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_1Params_Body, FilePath = @"", LineNumber = 56 @@ -584,7 +592,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -613,7 +622,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp__CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUp_1Params_Body, FilePath = @"", LineNumber = 62 @@ -656,7 +665,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeClassHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + static __registrationIndex => new BeforeClassHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -686,7 +696,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeClassHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_Class.TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext__ClassHookContext_CancellationToken_Before_ClassInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_BeforeAllSetUpWithContext_2Params_Body, FilePath = @"", LineNumber = 68 @@ -730,7 +740,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -757,7 +768,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_0Params_Body } ); @@ -799,7 +810,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -829,7 +841,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_Setup__CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_Setup_1Params_Body } ); @@ -871,7 +883,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -901,7 +914,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_1Params_Body } ); @@ -943,7 +956,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), + static readonly int _h_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.SetupTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.SetupTests), @@ -974,7 +988,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext__TestContext_CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_SetupTests_SetupWithContext_2Params_Body } ); diff --git a/TUnit.Core.SourceGenerator.Tests/GlobalStaticAfterEachTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/GlobalStaticAfterEachTests.Test.verified.txt index d4816a6c89..bb48485664 100644 --- a/TUnit.Core.SourceGenerator.Tests/GlobalStaticAfterEachTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/GlobalStaticAfterEachTests.Test.verified.txt @@ -1,4 +1,4 @@ -// +// #pragma warning disable #nullable enable @@ -30,7 +30,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase1_AfterEach1_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalBase1), + static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase1_AfterEach1_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalBase1), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.GlobalBase1), @@ -57,7 +58,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalBase1_AfterEach1_After_Test.TUnit_TestProject_AfterTests_GlobalBase1_AfterEach1_After_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalBase1_AfterEach1_0Params_Body } ); @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase2_AfterEach2_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalBase2), + static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase2_AfterEach2_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalBase2), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.GlobalBase2), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalBase2_AfterEach2_After_Test.TUnit_TestProject_AfterTests_GlobalBase2_AfterEach2_After_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalBase2_AfterEach2_0Params_Body } ); @@ -168,7 +170,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase3_AfterEach3_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalBase3), + static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase3_AfterEach3_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalBase3), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.GlobalBase3), @@ -195,7 +198,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalBase3_AfterEach3_After_Test.TUnit_TestProject_AfterTests_GlobalBase3_AfterEach3_After_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalBase3_AfterEach3_0Params_Body } ); @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp_After_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp_After_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp_0Params_Body } ); @@ -306,7 +310,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp__CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp__CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), @@ -336,7 +341,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp__CancellationToken_After_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp__CancellationToken_After_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUp_1Params_Body } ); @@ -378,7 +383,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), @@ -408,7 +414,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_After_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_After_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext_1Params_Body } ); @@ -450,7 +456,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_CancellationToken_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.AfterTests.GlobalCleanUpTests), @@ -481,7 +488,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_CancellationToken_After_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext__TestContext_CancellationToken_After_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_CleanUpWithContext_2Params_Body } ); @@ -522,7 +529,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase1_AfterAll1__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, + static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase1_AfterAll1__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + static __registrationIndex => new AfterTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -551,7 +559,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalBase1_AfterAll1__TestContext_AfterEvery_Test.TUnit_TestProject_AfterTests_GlobalBase1_AfterAll1__TestContext_AfterEvery_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalBase1_AfterAll1_1Params_Body, FilePath = @"", LineNumber = 5 @@ -594,7 +602,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase2_AfterAll2__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, + static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase2_AfterAll2__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + static __registrationIndex => new AfterTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -623,7 +632,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalBase2_AfterAll2__TestContext_AfterEvery_Test.TUnit_TestProject_AfterTests_GlobalBase2_AfterAll2__TestContext_AfterEvery_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalBase2_AfterAll2_1Params_Body, FilePath = @"", LineNumber = 20 @@ -666,7 +675,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase3_AfterAll3__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, + static readonly int _h_TUnit_TestProject_AfterTests_GlobalBase3_AfterAll3__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + static __registrationIndex => new AfterTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -695,7 +705,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalBase3_AfterAll3__TestContext_AfterEvery_Test.TUnit_TestProject_AfterTests_GlobalBase3_AfterAll3__TestContext_AfterEvery_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalBase3_AfterAll3_1Params_Body, FilePath = @"", LineNumber = 35 @@ -738,7 +748,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + static __registrationIndex => new AfterTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -767,7 +778,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_AfterEvery_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_AfterEvery_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp_1Params_Body, FilePath = @"", LineNumber = 50 @@ -810,7 +821,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_CancellationToken_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_CancellationToken_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + static __registrationIndex => new AfterTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -840,7 +852,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_CancellationToken_AfterEvery_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp__TestContext_CancellationToken_AfterEvery_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUp_2Params_Body, FilePath = @"", LineNumber = 56 @@ -883,7 +895,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + static __registrationIndex => new AfterTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -912,7 +925,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_AfterEvery_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_AfterEvery_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext_1Params_Body, FilePath = @"", LineNumber = 62 @@ -955,7 +968,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_CancellationToken_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, + static readonly int _h_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_CancellationToken_AfterEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + static __registrationIndex => new AfterTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -985,7 +999,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_CancellationToken_AfterEvery_Test.TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext__TestContext_CancellationToken_AfterEvery_TestInitializer.global_TUnit_TestProject_AfterTests_GlobalCleanUpTests_AfterAllCleanUpWithContext_2Params_Body, FilePath = @"", LineNumber = 68 diff --git a/TUnit.Core.SourceGenerator.Tests/GlobalStaticBeforeEachTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/GlobalStaticBeforeEachTests.Test.verified.txt index 9ae95afd01..64df8a396c 100644 --- a/TUnit.Core.SourceGenerator.Tests/GlobalStaticBeforeEachTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/GlobalStaticBeforeEachTests.Test.verified.txt @@ -1,4 +1,4 @@ -// +// #pragma warning disable #nullable enable @@ -30,7 +30,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalBase1), + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase1_BeforeEach1_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalBase1), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.GlobalBase1), @@ -57,7 +58,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalBase1_BeforeEach1_Before_Test.TUnit_TestProject_BeforeTests_GlobalBase1_BeforeEach1_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalBase1_BeforeEach1_0Params_Body } ); @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalBase2), + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase2_BeforeEach2_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalBase2), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.GlobalBase2), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalBase2_BeforeEach2_Before_Test.TUnit_TestProject_BeforeTests_GlobalBase2_BeforeEach2_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalBase2_BeforeEach2_0Params_Body } ); @@ -168,7 +170,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalBase3), + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase3_BeforeEach3_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalBase3), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.GlobalBase3), @@ -195,7 +198,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalBase3_BeforeEach3_Before_Test.TUnit_TestProject_BeforeTests_GlobalBase3_BeforeEach3_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalBase3_BeforeEach3_0Params_Body } ); @@ -237,7 +240,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), @@ -264,7 +268,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp_Before_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp_0Params_Body } ); @@ -306,7 +310,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp__CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), @@ -336,7 +341,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp__CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp__CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUp_1Params_Body } ); @@ -378,7 +383,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), @@ -408,7 +414,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_Before_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext_1Params_Body } ); @@ -450,7 +456,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_CancellationToken_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.BeforeTests.GlobalSetUpTests), @@ -481,7 +488,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_CancellationToken_Before_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext__TestContext_CancellationToken_Before_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_SetUpWithContext_2Params_Body } ); @@ -522,7 +529,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase1_BeforeAll1__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase1_BeforeAll1__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + static __registrationIndex => new BeforeTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -551,7 +559,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalBase1_BeforeAll1__TestContext_BeforeEvery_Test.TUnit_TestProject_BeforeTests_GlobalBase1_BeforeAll1__TestContext_BeforeEvery_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalBase1_BeforeAll1_1Params_Body, FilePath = @"", LineNumber = 5 @@ -594,7 +602,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase2_BeforeAll2__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase2_BeforeAll2__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + static __registrationIndex => new BeforeTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -623,7 +632,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalBase2_BeforeAll2__TestContext_BeforeEvery_Test.TUnit_TestProject_BeforeTests_GlobalBase2_BeforeAll2__TestContext_BeforeEvery_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalBase2_BeforeAll2_1Params_Body, FilePath = @"", LineNumber = 20 @@ -666,7 +675,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase3_BeforeAll3__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalBase3_BeforeAll3__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + static __registrationIndex => new BeforeTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -695,7 +705,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalBase3_BeforeAll3__TestContext_BeforeEvery_Test.TUnit_TestProject_BeforeTests_GlobalBase3_BeforeAll3__TestContext_BeforeEvery_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalBase3_BeforeAll3_1Params_Body, FilePath = @"", LineNumber = 35 @@ -738,7 +748,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + static __registrationIndex => new BeforeTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -767,7 +778,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_BeforeEvery_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_BeforeEvery_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp_1Params_Body, FilePath = @"", LineNumber = 50 @@ -810,7 +821,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_CancellationToken_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_CancellationToken_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + static __registrationIndex => new BeforeTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -840,7 +852,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_CancellationToken_BeforeEvery_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp__TestContext_CancellationToken_BeforeEvery_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUp_2Params_Body, FilePath = @"", LineNumber = 56 @@ -883,7 +895,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + static __registrationIndex => new BeforeTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -912,7 +925,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_BeforeEvery_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_BeforeEvery_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext_1Params_Body, FilePath = @"", LineNumber = 62 @@ -955,7 +968,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_CancellationToken_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, + static readonly int _h_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_CancellationToken_BeforeEvery_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeEveryTestHooks, global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + static __registrationIndex => new BeforeTestHookMethod { MethodInfo = new global::TUnit.Core.MethodMetadata @@ -985,7 +999,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeEveryTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_CancellationToken_BeforeEvery_Test.TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext__TestContext_CancellationToken_BeforeEvery_TestInitializer.global_TUnit_TestProject_BeforeTests_GlobalSetUpTests_BeforeAllSetUpWithContext_2Params_Body, FilePath = @"", LineNumber = 68 diff --git a/TUnit.Core.SourceGenerator.Tests/HooksTests.DisposableFieldTests.verified.txt b/TUnit.Core.SourceGenerator.Tests/HooksTests.DisposableFieldTests.verified.txt index 05d3d57b98..eab0ba8e7f 100644 --- a/TUnit.Core.SourceGenerator.Tests/HooksTests.DisposableFieldTests.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/HooksTests.DisposableFieldTests.verified.txt @@ -1,4 +1,4 @@ -// +// #pragma warning disable #nullable enable @@ -30,7 +30,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_DisposableFieldTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.DisposableFieldTests), + static readonly int _h_TUnit_TestProject_DisposableFieldTests_Setup_Before_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.BeforeTestHooks, typeof(global::TUnit.TestProject.DisposableFieldTests), global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.DisposableFieldTests), @@ -57,7 +58,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextBeforeTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_DisposableFieldTests_Setup_Before_Test.TUnit_TestProject_DisposableFieldTests_Setup_Before_TestInitializer.global_TUnit_TestProject_DisposableFieldTests_Setup_0Params_Body } ); @@ -99,7 +100,8 @@ namespace TUnit.Generated { internal static partial class TUnit_HookRegistration { - static readonly int _h_TUnit_TestProject_DisposableFieldTests_Blah_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.DisposableFieldTests), + static readonly int _h_TUnit_TestProject_DisposableFieldTests_Blah_After_Test = global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.AfterTestHooks, typeof(global::TUnit.TestProject.DisposableFieldTests), global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + static __registrationIndex => new InstanceHookMethod { InitClassType = typeof(global::TUnit.TestProject.DisposableFieldTests), @@ -126,7 +128,7 @@ namespace TUnit.Generated }, HookExecutor = DefaultExecutor.Instance, Order = 0, - RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNextAfterTestHookIndex(), + RegistrationIndex = __registrationIndex, Body = global::TUnit.Generated.Hooks.TUnit_TestProject_DisposableFieldTests_Blah_After_Test.TUnit_TestProject_DisposableFieldTests_Blah_After_TestInitializer.global_TUnit_TestProject_DisposableFieldTests_Blah_0Params_Body } ); diff --git a/TUnit.Core.SourceGenerator/Generators/HookMetadataGenerator.cs b/TUnit.Core.SourceGenerator/Generators/HookMetadataGenerator.cs index d090889852..dd58f13d42 100644 --- a/TUnit.Core.SourceGenerator/Generators/HookMetadataGenerator.cs +++ b/TUnit.Core.SourceGenerator/Generators/HookMetadataGenerator.cs @@ -459,7 +459,9 @@ private static string GetSimpleTypeName(string fullyQualifiedTypeName) /// /// Emits a single SourceRegistrar.RegisterHook(...) expression for use as a field initializer. - /// The hook object is constructed inline, so no per-hook method needs JIT. + /// Module init pays only for one HookRegistrationIndices.GetNext*() increment + a static + /// lambda reference; the heavy MethodMetadata/ClassMetadata graph is constructed lazily + /// on first hook execution via LazyHookEntry.Materialize(). /// private static void GenerateInlineHookRegistration(CodeWriter writer, HookModel hook, string safeFileName) { @@ -469,17 +471,19 @@ private static void GenerateInlineHookRegistration(CodeWriter writer, HookModel // Determine collection name and key expression var (collectionName, keyExpr) = GetHookCollectionAndKey(hook, typeDisplay, isInstance); + var indexExpr = $"global::TUnit.Core.HookRegistrationIndices.GetNext{GetHookIndexMethodName(hook)}"; if (keyExpr != null) { - writer.AppendLine($"global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.{collectionName}, {keyExpr},"); + writer.AppendLine($"global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.{collectionName}, {keyExpr}, {indexExpr},"); } else { - writer.AppendLine($"global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.{collectionName},"); + writer.AppendLine($"global::TUnit.Core.SourceRegistrar.RegisterHook(global::TUnit.Core.Sources.{collectionName}, {indexExpr},"); } writer.Indent(); + writer.AppendLine("static __registrationIndex =>"); GenerateHookObject(writer, hook, isInstance, delegatePrefix); writer.Unindent(); writer.Append(")"); @@ -715,7 +719,7 @@ private static void GenerateHookObject(CodeWriter writer, HookModel hook, bool i writer.AppendLine($"HookExecutor = {HookExecutorHelper.GetHookExecutor(hook.HookExecutorTypeName)},"); writer.AppendLine($"Order = {hook.Order},"); - writer.AppendLine($"RegistrationIndex = global::TUnit.Core.HookRegistrationIndices.GetNext{GetHookIndexMethodName(hook)},"); + writer.AppendLine("RegistrationIndex = __registrationIndex,"); writer.AppendLine($"Body = {bodyRef}" + (isInstance ? "" : ",")); if (!isInstance) diff --git a/TUnit.Core/Hooks/LazyHookEntry.cs b/TUnit.Core/Hooks/LazyHookEntry.cs new file mode 100644 index 0000000000..4563df1b66 --- /dev/null +++ b/TUnit.Core/Hooks/LazyHookEntry.cs @@ -0,0 +1,79 @@ +using System.ComponentModel; + +namespace TUnit.Core.Hooks; + +/// +/// Wraps a hook registration as a factory plus eagerly-computed registration index. +/// The full graph (MethodMetadata, ClassMetadata, parameter arrays, +/// delegate, etc.) is constructed only on first call to . +/// This avoids paying O(N) construction cost per hook at module initialization. +/// +/// The registration index is captured eagerly so that hook ordering is preserved even +/// when materialization happens out of declaration order. +/// +/// +#if !DEBUG +[EditorBrowsable(EditorBrowsableState.Never)] +#endif +public sealed class LazyHookEntry where T : HookMethod +{ + private Func? _factory; + // volatile is required for the double-checked-lock pattern in Materialize() — without it + // the JIT is allowed to cache the unlocked read in a register on weakly-ordered architectures, + // which would let one thread perpetually see null after another thread published the value. + // T is constrained to HookMethod (a reference type), so `volatile T?` is legal. + private volatile T? _materialized; + private readonly object _lock = new(); + + /// + /// The eagerly-computed registration index. Used to preserve declaration order + /// across hooks that share the same value. + /// + public int RegistrationIndex { get; } + + /// + /// Creates a lazy entry from a factory that will produce the materialized hook on first + /// access. The factory MUST be a static lambda (no captures) to avoid per-hook closure + /// allocations and to remain AOT compatible. The eagerly-computed registration index is + /// passed back into the factory so it can be assigned to . + /// + public LazyHookEntry(int registrationIndex, Func factory) + { + RegistrationIndex = registrationIndex; + _factory = factory; + } + + /// + /// Creates a lazy entry from an already-materialized hook (used by reflection-mode discovery). + /// + public LazyHookEntry(T hook) + { + _materialized = hook; + RegistrationIndex = hook.RegistrationIndex; + } + + /// + /// Returns the materialized hook, constructing it on first access. + /// Subsequent calls return the cached instance. Thread-safe. + /// + public T Materialize() + { + if (_materialized is not null) + { + return _materialized; + } + + lock (_lock) + { + if (_materialized is not null) + { + return _materialized; + } + + var hook = _factory!(RegistrationIndex); + _materialized = hook; + _factory = null; + return hook; + } + } +} diff --git a/TUnit.Core/SourceRegistrar.cs b/TUnit.Core/SourceRegistrar.cs index cf15b246d0..007a4557b8 100644 --- a/TUnit.Core/SourceRegistrar.cs +++ b/TUnit.Core/SourceRegistrar.cs @@ -2,6 +2,7 @@ using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; +using TUnit.Core.Hooks; using TUnit.Core.Interfaces.SourceGenerator; namespace TUnit.Core; @@ -61,29 +62,43 @@ public static void RegisterProperty(IPropertySource propertySource) } /// - /// Registers a hook into a type-keyed dictionary and returns a dummy value for use as a field initializer. + /// Registers a hook factory into a type-keyed dictionary. The factory is not invoked + /// until the engine materializes the hook for execution. Use a static lambda + /// (no captures) to keep module-init cost minimal and to remain AOT compatible. + /// Returns a dummy value for use as a static field initializer. /// - public static int RegisterHook(ConcurrentDictionary> dictionary, Type key, T hook) + public static int RegisterHook(ConcurrentDictionary>> dictionary, Type key, int registrationIndex, Func factory) + where T : HookMethod { - dictionary.GetOrAdd(key, static _ => new ConcurrentBag()).Add(hook); + dictionary.GetOrAdd(key, static _ => new ConcurrentBag>()) + .Add(new LazyHookEntry(registrationIndex, factory)); return 0; } /// - /// Registers a hook into an assembly-keyed dictionary and returns a dummy value for use as a field initializer. + /// Registers a hook factory into an assembly-keyed dictionary. The factory is not invoked + /// until the engine materializes the hook for execution. Use a static lambda + /// (no captures) to keep module-init cost minimal and to remain AOT compatible. + /// Returns a dummy value for use as a static field initializer. /// - public static int RegisterHook(ConcurrentDictionary> dictionary, Assembly key, T hook) + public static int RegisterHook(ConcurrentDictionary>> dictionary, Assembly key, int registrationIndex, Func factory) + where T : HookMethod { - dictionary.GetOrAdd(key, static _ => new ConcurrentBag()).Add(hook); + dictionary.GetOrAdd(key, static _ => new ConcurrentBag>()) + .Add(new LazyHookEntry(registrationIndex, factory)); return 0; } /// - /// Registers a hook into a global bag and returns a dummy value for use as a field initializer. + /// Registers a hook factory into a global bag. The factory is not invoked until the engine + /// materializes the hook for execution. Use a static lambda (no captures) to keep + /// module-init cost minimal and to remain AOT compatible. + /// Returns a dummy value for use as a static field initializer. /// - public static int RegisterHook(ConcurrentBag bag, T hook) + public static int RegisterHook(ConcurrentBag> bag, int registrationIndex, Func factory) + where T : HookMethod { - bag.Add(hook); + bag.Add(new LazyHookEntry(registrationIndex, factory)); return 0; } diff --git a/TUnit.Core/Sources.cs b/TUnit.Core/Sources.cs index a77d874a24..26ad9b5b12 100644 --- a/TUnit.Core/Sources.cs +++ b/TUnit.Core/Sources.cs @@ -1,5 +1,6 @@ using System.Collections.Concurrent; using System.Reflection; +using TUnit.Core.Hooks; using TUnit.Core.Interfaces.SourceGenerator; namespace TUnit.Core; @@ -12,25 +13,28 @@ public static class Sources public static readonly ConcurrentQueue> AssemblyLoaders = []; public static readonly ConcurrentQueue DynamicTestSources = []; - public static readonly ConcurrentDictionary> BeforeTestHooks = new(); - public static readonly ConcurrentDictionary> AfterTestHooks = new(); - public static readonly ConcurrentBag BeforeEveryTestHooks = []; - public static readonly ConcurrentBag AfterEveryTestHooks = []; - - public static readonly ConcurrentDictionary> BeforeClassHooks = new(); - public static readonly ConcurrentDictionary> AfterClassHooks = new(); - public static readonly ConcurrentBag BeforeEveryClassHooks = []; - public static readonly ConcurrentBag AfterEveryClassHooks = []; - - public static readonly ConcurrentDictionary> BeforeAssemblyHooks = new(); - public static readonly ConcurrentDictionary> AfterAssemblyHooks = new(); - public static readonly ConcurrentBag BeforeEveryAssemblyHooks = []; - public static readonly ConcurrentBag AfterEveryAssemblyHooks = []; - - public static readonly ConcurrentBag BeforeTestSessionHooks = []; - public static readonly ConcurrentBag AfterTestSessionHooks = []; - public static readonly ConcurrentBag BeforeTestDiscoveryHooks = []; - public static readonly ConcurrentBag AfterTestDiscoveryHooks = []; + // Hook collections store LazyHookEntry wrappers — the heavy MethodMetadata/ClassMetadata + // construction is deferred until first Materialize() call (typically during engine + // discovery/execution rather than at module initialization). + public static readonly ConcurrentDictionary>> BeforeTestHooks = new(); + public static readonly ConcurrentDictionary>> AfterTestHooks = new(); + public static readonly ConcurrentBag> BeforeEveryTestHooks = []; + public static readonly ConcurrentBag> AfterEveryTestHooks = []; + + public static readonly ConcurrentDictionary>> BeforeClassHooks = new(); + public static readonly ConcurrentDictionary>> AfterClassHooks = new(); + public static readonly ConcurrentBag> BeforeEveryClassHooks = []; + public static readonly ConcurrentBag> AfterEveryClassHooks = []; + + public static readonly ConcurrentDictionary>> BeforeAssemblyHooks = new(); + public static readonly ConcurrentDictionary>> AfterAssemblyHooks = new(); + public static readonly ConcurrentBag> BeforeEveryAssemblyHooks = []; + public static readonly ConcurrentBag> AfterEveryAssemblyHooks = []; + + public static readonly ConcurrentBag> BeforeTestSessionHooks = []; + public static readonly ConcurrentBag> AfterTestSessionHooks = []; + public static readonly ConcurrentBag> BeforeTestDiscoveryHooks = []; + public static readonly ConcurrentBag> AfterTestDiscoveryHooks = []; public static readonly ConcurrentQueue> GlobalInitializers = []; public static readonly ConcurrentQueue PropertySources = []; diff --git a/TUnit.Engine/Discovery/ReflectionHookDiscoveryService.cs b/TUnit.Engine/Discovery/ReflectionHookDiscoveryService.cs index a5519223b4..f7347f4537 100644 --- a/TUnit.Engine/Discovery/ReflectionHookDiscoveryService.cs +++ b/TUnit.Engine/Discovery/ReflectionHookDiscoveryService.cs @@ -385,7 +385,7 @@ private static void RegisterBeforeHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeEveryTestHooks.Add(hook); + Sources.BeforeEveryTestHooks.Add(new LazyHookEntry(hook)); } else { @@ -409,7 +409,7 @@ private static void RegisterBeforeHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeTestSessionHooks.Add(sessionHook); + Sources.BeforeTestSessionHooks.Add(new LazyHookEntry(sessionHook)); break; case HookType.TestDiscovery: // BeforeEvery(TestDiscovery) is treated the same as Before(TestDiscovery) @@ -425,7 +425,7 @@ private static void RegisterBeforeHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeTestDiscoveryHooks.Add(discoveryHook); + Sources.BeforeTestDiscoveryHooks.Add(new LazyHookEntry(discoveryHook)); break; } } @@ -462,7 +462,7 @@ private static void RegisterAfterHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterEveryTestHooks.Add(hook); + Sources.AfterEveryTestHooks.Add(new LazyHookEntry(hook)); } else { @@ -486,13 +486,19 @@ private static void RegisterAfterHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterTestSessionHooks.Add(sessionHook); + Sources.AfterTestSessionHooks.Add(new LazyHookEntry(sessionHook)); break; case HookType.TestDiscovery: var discoveryMetadata = CreateMethodMetadata(type, method); - // Check if this hook is already registered (prevent duplicates) - if (!Sources.AfterTestDiscoveryHooks.Any(h => h.MethodInfo.Name == discoveryMetadata.Name && - h.MethodInfo.Type == discoveryMetadata.Type)) + // Defence in depth: _registeredMethods.TryAdd above would normally short-circuit + // before we reach here, but this guard protects against future refactors that + // might bypass the upstream dedup (e.g. a separate registration path). + if (!Sources.AfterTestDiscoveryHooks.Any(h => + { + var m = h.Materialize(); + return m.MethodInfo.Name == discoveryMetadata.Name && + m.MethodInfo.Type == discoveryMetadata.Type; + })) { var discoveryHook = new AfterTestDiscoveryHookMethod { @@ -504,7 +510,7 @@ private static void RegisterAfterHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterTestDiscoveryHooks.Add(discoveryHook); + Sources.AfterTestDiscoveryHooks.Add(new LazyHookEntry(discoveryHook)); } break; } @@ -540,7 +546,7 @@ private static void RegisterBeforeEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeEveryTestHooks.Add(testHook); + Sources.BeforeEveryTestHooks.Add(new LazyHookEntry(testHook)); break; case HookType.Class: var classHook = new BeforeClassHookMethod @@ -553,7 +559,7 @@ private static void RegisterBeforeEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeEveryClassHooks.Add(classHook); + Sources.BeforeEveryClassHooks.Add(new LazyHookEntry(classHook)); break; case HookType.Assembly: var assemblyHook = new BeforeAssemblyHookMethod @@ -566,7 +572,7 @@ private static void RegisterBeforeEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeEveryAssemblyHooks.Add(assemblyHook); + Sources.BeforeEveryAssemblyHooks.Add(new LazyHookEntry(assemblyHook)); break; case HookType.TestSession: var sessionHook = new BeforeTestSessionHookMethod @@ -579,7 +585,7 @@ private static void RegisterBeforeEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeTestSessionHooks.Add(sessionHook); + Sources.BeforeTestSessionHooks.Add(new LazyHookEntry(sessionHook)); break; case HookType.TestDiscovery: var discoveryHook = new BeforeTestDiscoveryHookMethod @@ -592,7 +598,7 @@ private static void RegisterBeforeEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.BeforeTestDiscoveryHooks.Add(discoveryHook); + Sources.BeforeTestDiscoveryHooks.Add(new LazyHookEntry(discoveryHook)); break; } } @@ -627,7 +633,7 @@ private static void RegisterAfterEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterEveryTestHooks.Add(testHook); + Sources.AfterEveryTestHooks.Add(new LazyHookEntry(testHook)); break; case HookType.Class: var classHook = new AfterClassHookMethod @@ -640,7 +646,7 @@ private static void RegisterAfterEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterEveryClassHooks.Add(classHook); + Sources.AfterEveryClassHooks.Add(new LazyHookEntry(classHook)); break; case HookType.Assembly: var assemblyHook = new AfterAssemblyHookMethod @@ -653,7 +659,7 @@ private static void RegisterAfterEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterEveryAssemblyHooks.Add(assemblyHook); + Sources.AfterEveryAssemblyHooks.Add(new LazyHookEntry(assemblyHook)); break; case HookType.TestSession: var sessionHook = new AfterTestSessionHookMethod @@ -666,16 +672,22 @@ private static void RegisterAfterEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterTestSessionHooks.Add(sessionHook); + Sources.AfterTestSessionHooks.Add(new LazyHookEntry(sessionHook)); break; case HookType.TestDiscovery: // AfterEvery(TestDiscovery) is treated the same as After(TestDiscovery) // The source generator ignores the "Every" suffix for TestDiscovery hooks // Register it as a regular After hook to match source-gen behavior var discoveryEveryMetadata = CreateMethodMetadata(type, method); - // Check if this hook is already registered (prevent duplicates) - if (!Sources.AfterTestDiscoveryHooks.Any(h => h.MethodInfo.Name == discoveryEveryMetadata.Name && - h.MethodInfo.Type == discoveryEveryMetadata.Type)) + // Defence in depth: _registeredMethods.TryAdd above would normally short-circuit + // before we reach here, but this guard protects against future refactors that + // might bypass the upstream dedup (e.g. a separate registration path). + if (!Sources.AfterTestDiscoveryHooks.Any(h => + { + var m = h.Materialize(); + return m.MethodInfo.Name == discoveryEveryMetadata.Name && + m.MethodInfo.Type == discoveryEveryMetadata.Type; + })) { var discoveryHook = new AfterTestDiscoveryHookMethod { @@ -687,7 +699,7 @@ private static void RegisterAfterEveryHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - Sources.AfterTestDiscoveryHooks.Add(discoveryHook); + Sources.AfterTestDiscoveryHooks.Add(new LazyHookEntry(discoveryHook)); } break; } @@ -715,7 +727,7 @@ private static void RegisterInstanceBeforeHook( RegistrationIndex = Interlocked.Increment(ref _registrationIndex), Body = CreateInstanceHookDelegate(type, method) }; - bag.Add(hook); + bag.Add(new LazyHookEntry(hook)); } private static void RegisterInstanceAfterHook( @@ -740,7 +752,7 @@ private static void RegisterInstanceAfterHook( RegistrationIndex = Interlocked.Increment(ref _registrationIndex), Body = CreateInstanceHookDelegate(type, method) }; - bag.Add(hook); + bag.Add(new LazyHookEntry(hook)); } private static void RegisterBeforeClassHook( @@ -760,7 +772,7 @@ private static void RegisterBeforeClassHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - bag.Add(hook); + bag.Add(new LazyHookEntry(hook)); } private static void RegisterAfterClassHook( @@ -780,7 +792,7 @@ private static void RegisterAfterClassHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - bag.Add(hook); + bag.Add(new LazyHookEntry(hook)); } private static void RegisterBeforeAssemblyHook( @@ -801,7 +813,7 @@ private static void RegisterBeforeAssemblyHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - bag.Add(hook); + bag.Add(new LazyHookEntry(hook)); } private static void RegisterAfterAssemblyHook( @@ -822,7 +834,7 @@ private static void RegisterAfterAssemblyHook( LineNumber = 0, Body = CreateHookDelegate(type, method) }; - bag.Add(hook); + bag.Add(new LazyHookEntry(hook)); } #if NET8_0_OR_GREATER diff --git a/TUnit.Engine/Services/HookDelegateBuilder.cs b/TUnit.Engine/Services/HookDelegateBuilder.cs index 10b6407c74..55dd88c188 100644 --- a/TUnit.Engine/Services/HookDelegateBuilder.cs +++ b/TUnit.Engine/Services/HookDelegateBuilder.cs @@ -17,12 +17,25 @@ internal sealed class HookDelegateBuilder : IHookDelegateBuilder { private readonly EventReceiverOrchestrator _eventReceiverOrchestrator; private readonly TUnitFrameworkLogger _logger; - private readonly ConcurrentDictionary>> _beforeTestHooksCache = new(); - private readonly ConcurrentDictionary>> _afterTestHooksCache = new(); - private readonly ConcurrentDictionary>> _beforeClassHooksCache = new(); - private readonly ConcurrentDictionary>> _afterClassHooksCache = new(); - private readonly ConcurrentDictionary>> _beforeAssemblyHooksCache = new(); - private readonly ConcurrentDictionary>> _afterAssemblyHooksCache = new(); + // Lazy> ensures only one thread builds the hook list per key — racing threads + // observe the same Lazy instance via GetOrAdd and await the same underlying Task. + // Without this wrapper, two threads racing the first test of the same class would both + // build the full sorted hook list and the loser's result is silently discarded. + private readonly ConcurrentDictionary>>>> _beforeTestHooksCache = new(); + private readonly ConcurrentDictionary>>>> _afterTestHooksCache = new(); + private readonly ConcurrentDictionary>>>> _beforeClassHooksCache = new(); + private readonly ConcurrentDictionary>>>> _afterClassHooksCache = new(); + private readonly ConcurrentDictionary>>>> _beforeAssemblyHooksCache = new(); + private readonly ConcurrentDictionary>>>> _afterAssemblyHooksCache = new(); + + // Cache the build delegates so the per-test cache-hit path doesn't allocate a new + // method-group delegate on every call (matters because Collect*HooksAsync runs per test). + private readonly Func>>> _buildBeforeTestHooks; + private readonly Func>>> _buildAfterTestHooks; + private readonly Func>>> _buildBeforeClassHooks; + private readonly Func>>> _buildAfterClassHooks; + private readonly Func>>> _buildBeforeAssemblyHooks; + private readonly Func>>> _buildAfterAssemblyHooks; // Cache for GetGenericTypeDefinition() calls to avoid repeated reflection private static readonly ConcurrentDictionary _genericTypeDefinitionCache = new(); @@ -39,13 +52,22 @@ internal sealed class HookDelegateBuilder : IHookDelegateBuilder private IReadOnlyList>? _beforeEveryAssemblyHooks; private IReadOnlyList>? _afterEveryAssemblyHooks; - // Cache for processed hooks to avoid re-processing event receivers + // Cache for processed hooks to avoid re-processing event receivers. + // Dedup relies on reference identity (HookMethod does not override Equals/GetHashCode); + // safe today because Materialize() returns the same cached instance per hook. + // If HookMethod ever overrides Equals/GetHashCode, revisit this assumption. private readonly ConcurrentDictionary _processedHooks = new(); public HookDelegateBuilder(EventReceiverOrchestrator eventReceiverOrchestrator, TUnitFrameworkLogger logger) { _eventReceiverOrchestrator = eventReceiverOrchestrator; _logger = logger; + _buildBeforeTestHooks = BuildBeforeTestHooksAsync; + _buildAfterTestHooks = BuildAfterTestHooksAsync; + _buildBeforeClassHooks = BuildBeforeClassHooksAsync; + _buildAfterClassHooks = BuildAfterClassHooksAsync; + _buildBeforeAssemblyHooks = BuildBeforeAssemblyHooksAsync; + _buildAfterAssemblyHooks = BuildAfterAssemblyHooksAsync; } private static Type GetCachedGenericTypeDefinition(Type type) @@ -80,20 +102,22 @@ public async ValueTask InitializeAsync() /// /// Generic helper to build global hooks from Sources collections. - /// Eliminates duplication across all BuildGlobalXXXHooksAsync methods. + /// Materializes each on first access — the heavy + /// MethodMetadata/ClassMetadata graph is constructed here rather than at module init. /// private async Task>> BuildGlobalHooksAsync( - IEnumerable sourceHooks, + IEnumerable> sourceHooks, Func>> createDelegate, string hookTypeName) where THookMethod : HookMethod { // Pre-size list if possible for better performance - var capacity = sourceHooks is ICollection coll ? coll.Count : 0; + var capacity = sourceHooks is ICollection> coll ? coll.Count : 0; var hooks = new List<(int order, int registrationIndex, NamedHookDelegate hook)>(capacity); - foreach (var hook in sourceHooks) + foreach (var entry in sourceHooks) { + var hook = entry.Materialize(); await _logger.LogTraceAsync($"Creating delegate for {hookTypeName} hook: {hook.Name}").ConfigureAwait(false); var namedHook = await createDelegate(hook); hooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); @@ -158,7 +182,7 @@ private static void SortAndAddHooks( List> target, List<(int order, int registrationIndex, NamedHookDelegate hook)> hooks) { - hooks.Sort((a, b) => a.order != b.order + hooks.Sort(static (a, b) => a.order != b.order ? a.order.CompareTo(b.order) : a.registrationIndex.CompareTo(b.registrationIndex)); @@ -168,6 +192,51 @@ private static void SortAndAddHooks( } } + /// + /// Single-flight cache lookup: returns the shared task for a key, + /// creating one (per-instance) on first access. Other racing threads observe the same + /// Lazy and await the same underlying build, avoiding duplicate work. + /// + private static ValueTask>> GetOrBuildHooksAsync( + ConcurrentDictionary>>>> cache, + TKey key, + Func>>> build) + where TKey : notnull + { + var lazy = cache.GetOrAdd( + key, + static (k, b) => new Lazy>>>( + () => b(k), + LazyThreadSafetyMode.ExecutionAndPublication), + build); + var task = lazy.Value; + return task.Status == TaskStatus.RanToCompletion + ? new ValueTask>>(task.Result) + : new ValueTask>>(task); + } + + /// + /// Synchronous fast-path for the executor: returns the cached hook list only if the + /// build task has already completed successfully. + /// + private static bool TryGetCachedHooks( + ConcurrentDictionary>>>> cache, + TKey key, + out IReadOnlyList> hooks) + where TKey : notnull + { + if (cache.TryGetValue(key, out var cached) + && cached.IsValueCreated + && cached.Value.Status == TaskStatus.RanToCompletion) + { + hooks = cached.Value.Result; + return true; + } + + hooks = []; + return false; + } + private async Task ProcessHookRegistrationAsync(HookMethod hookMethod, CancellationToken cancellationToken = default) { // Only process each hook once @@ -189,33 +258,10 @@ private async Task ProcessHookRegistrationAsync(HookMethod hookMethod, Cancellat } public ValueTask>> CollectBeforeTestHooksAsync(Type testClassType) - { - if (_beforeTestHooksCache.TryGetValue(testClassType, out var cachedHooks)) - { - return new ValueTask>>(cachedHooks); - } - - return BuildAndCacheBeforeTestHooksAsync(testClassType); - } + => GetOrBuildHooksAsync(_beforeTestHooksCache, testClassType, _buildBeforeTestHooks); public bool TryGetCachedBeforeTestHooks(Type testClassType, out IReadOnlyList> hooks) - { - if (_beforeTestHooksCache.TryGetValue(testClassType, out var cached)) - { - hooks = cached; - return true; - } - - hooks = []; - return false; - } - - private async ValueTask>> BuildAndCacheBeforeTestHooksAsync(Type testClassType) - { - var hooks = await BuildBeforeTestHooksAsync(testClassType).ConfigureAwait(false); - _beforeTestHooksCache.TryAdd(testClassType, hooks); - return hooks; - } + => TryGetCachedHooks(_beforeTestHooksCache, testClassType, out hooks); private async Task>> BuildBeforeTestHooksAsync(Type type) { @@ -229,8 +275,9 @@ private async Task>> BuildBeforeTes if (Sources.BeforeTestHooks.TryGetValue(currentType, out var sourceHooks)) { - foreach (var hook in sourceHooks) + foreach (var entry in sourceHooks) { + var hook = entry.Materialize(); var namedHook = await CreateInstanceHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -242,8 +289,9 @@ private async Task>> BuildBeforeTes var openGenericType = GetCachedGenericTypeDefinition(currentType); if (Sources.BeforeTestHooks.TryGetValue(openGenericType, out var openTypeHooks)) { - foreach (var hook in openTypeHooks) + foreach (var entry in openTypeHooks) { + var hook = entry.Materialize(); var namedHook = await CreateInstanceHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -273,26 +321,10 @@ private async Task>> BuildBeforeTes } public ValueTask>> CollectAfterTestHooksAsync(Type testClassType) - { - if (_afterTestHooksCache.TryGetValue(testClassType, out var cachedHooks)) - { - return new ValueTask>>(cachedHooks); - } - - return BuildAndCacheAfterTestHooksAsync(testClassType); - } + => GetOrBuildHooksAsync(_afterTestHooksCache, testClassType, _buildAfterTestHooks); public bool TryGetCachedAfterTestHooks(Type testClassType, out IReadOnlyList> hooks) - { - if (_afterTestHooksCache.TryGetValue(testClassType, out var cached)) - { - hooks = cached; - return true; - } - - hooks = []; - return false; - } + => TryGetCachedHooks(_afterTestHooksCache, testClassType, out hooks); public IReadOnlyList> GetCachedBeforeEveryTestHooks() => _beforeEveryTestHooks ?? []; @@ -300,13 +332,6 @@ public IReadOnlyList> GetCachedBeforeEveryTestHoo public IReadOnlyList> GetCachedAfterEveryTestHooks() => _afterEveryTestHooks ?? []; - private async ValueTask>> BuildAndCacheAfterTestHooksAsync(Type testClassType) - { - var hooks = await BuildAfterTestHooksAsync(testClassType).ConfigureAwait(false); - _afterTestHooksCache.TryAdd(testClassType, hooks); - return hooks; - } - private async Task>> BuildAfterTestHooksAsync(Type type) { var hooksByType = new List<(Type type, List<(int order, int registrationIndex, NamedHookDelegate hook)> hooks)>(); @@ -319,8 +344,9 @@ private async Task>> BuildAfterTest if (Sources.AfterTestHooks.TryGetValue(currentType, out var sourceHooks)) { - foreach (var hook in sourceHooks) + foreach (var entry in sourceHooks) { + var hook = entry.Materialize(); var namedHook = await CreateInstanceHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -332,8 +358,9 @@ private async Task>> BuildAfterTest var openGenericType = GetCachedGenericTypeDefinition(currentType); if (Sources.AfterTestHooks.TryGetValue(openGenericType, out var openTypeHooks)) { - foreach (var hook in openTypeHooks) + foreach (var entry in openTypeHooks) { + var hook = entry.Materialize(); var namedHook = await CreateInstanceHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -372,21 +399,7 @@ public ValueTask>> CollectAfterEver } public ValueTask>> CollectBeforeClassHooksAsync(Type testClassType) - { - if (_beforeClassHooksCache.TryGetValue(testClassType, out var cachedHooks)) - { - return new ValueTask>>(cachedHooks); - } - - return BuildAndCacheBeforeClassHooksAsync(testClassType); - } - - private async ValueTask>> BuildAndCacheBeforeClassHooksAsync(Type testClassType) - { - var hooks = await BuildBeforeClassHooksAsync(testClassType).ConfigureAwait(false); - _beforeClassHooksCache.TryAdd(testClassType, hooks); - return hooks; - } + => GetOrBuildHooksAsync(_beforeClassHooksCache, testClassType, _buildBeforeClassHooks); private async Task>> BuildBeforeClassHooksAsync(Type type) { @@ -400,8 +413,9 @@ private async Task>> BuildBefo if (Sources.BeforeClassHooks.TryGetValue(currentType, out var sourceHooks)) { - foreach (var hook in sourceHooks) + foreach (var entry in sourceHooks) { + var hook = entry.Materialize(); var namedHook = await CreateStaticHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -413,8 +427,9 @@ private async Task>> BuildBefo var openGenericType = GetCachedGenericTypeDefinition(currentType); if (Sources.BeforeClassHooks.TryGetValue(openGenericType, out var openTypeHooks)) { - foreach (var hook in openTypeHooks) + foreach (var entry in openTypeHooks) { + var hook = entry.Materialize(); var namedHook = await CreateStaticHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -441,21 +456,7 @@ private async Task>> BuildBefo } public ValueTask>> CollectAfterClassHooksAsync(Type testClassType) - { - if (_afterClassHooksCache.TryGetValue(testClassType, out var cachedHooks)) - { - return new ValueTask>>(cachedHooks); - } - - return BuildAndCacheAfterClassHooksAsync(testClassType); - } - - private async ValueTask>> BuildAndCacheAfterClassHooksAsync(Type testClassType) - { - var hooks = await BuildAfterClassHooksAsync(testClassType).ConfigureAwait(false); - _afterClassHooksCache.TryAdd(testClassType, hooks); - return hooks; - } + => GetOrBuildHooksAsync(_afterClassHooksCache, testClassType, _buildAfterClassHooks); private async Task>> BuildAfterClassHooksAsync(Type type) { @@ -469,8 +470,9 @@ private async Task>> BuildAfte if (Sources.AfterClassHooks.TryGetValue(currentType, out var sourceHooks)) { - foreach (var hook in sourceHooks) + foreach (var entry in sourceHooks) { + var hook = entry.Materialize(); var namedHook = await CreateStaticHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -482,8 +484,9 @@ private async Task>> BuildAfte var openGenericType = GetCachedGenericTypeDefinition(currentType); if (Sources.AfterClassHooks.TryGetValue(openGenericType, out var openTypeHooks)) { - foreach (var hook in openTypeHooks) + foreach (var entry in openTypeHooks) { + var hook = entry.Materialize(); var namedHook = await CreateStaticHookDelegateAsync(hook); typeHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -508,21 +511,7 @@ private async Task>> BuildAfte } public ValueTask>> CollectBeforeAssemblyHooksAsync(Assembly assembly) - { - if (_beforeAssemblyHooksCache.TryGetValue(assembly, out var cachedHooks)) - { - return new ValueTask>>(cachedHooks); - } - - return BuildAndCacheBeforeAssemblyHooksAsync(assembly); - } - - private async ValueTask>> BuildAndCacheBeforeAssemblyHooksAsync(Assembly assembly) - { - var hooks = await BuildBeforeAssemblyHooksAsync(assembly).ConfigureAwait(false); - _beforeAssemblyHooksCache.TryAdd(assembly, hooks); - return hooks; - } + => GetOrBuildHooksAsync(_beforeAssemblyHooksCache, assembly, _buildBeforeAssemblyHooks); private async Task>> BuildBeforeAssemblyHooksAsync(Assembly assembly) { @@ -533,8 +522,9 @@ private async Task>> BuildB var allHooks = new List<(int order, int registrationIndex, NamedHookDelegate hook)>(assemblyHooks.Count); - foreach (var hook in assemblyHooks) + foreach (var entry in assemblyHooks) { + var hook = entry.Materialize(); var namedHook = await CreateStaticHookDelegateAsync(hook); allHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } @@ -543,21 +533,7 @@ private async Task>> BuildB } public ValueTask>> CollectAfterAssemblyHooksAsync(Assembly assembly) - { - if (_afterAssemblyHooksCache.TryGetValue(assembly, out var cachedHooks)) - { - return new ValueTask>>(cachedHooks); - } - - return BuildAndCacheAfterAssemblyHooksAsync(assembly); - } - - private async ValueTask>> BuildAndCacheAfterAssemblyHooksAsync(Assembly assembly) - { - var hooks = await BuildAfterAssemblyHooksAsync(assembly).ConfigureAwait(false); - _afterAssemblyHooksCache.TryAdd(assembly, hooks); - return hooks; - } + => GetOrBuildHooksAsync(_afterAssemblyHooksCache, assembly, _buildAfterAssemblyHooks); private async Task>> BuildAfterAssemblyHooksAsync(Assembly assembly) { @@ -568,8 +544,9 @@ private async Task>> BuildA var allHooks = new List<(int order, int registrationIndex, NamedHookDelegate hook)>(assemblyHooks.Count); - foreach (var hook in assemblyHooks) + foreach (var entry in assemblyHooks) { + var hook = entry.Materialize(); var namedHook = await CreateStaticHookDelegateAsync(hook); allHooks.Add((hook.Order, hook.RegistrationIndex, namedHook)); } diff --git a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet10_0.verified.txt b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet10_0.verified.txt index 7cf82a3f02..7023b1601f 100644 --- a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet10_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet10_0.verified.txt @@ -1294,30 +1294,33 @@ namespace public static int RegisterEntries<[.(..None | ..PublicParameterlessConstructor | ..PublicConstructors | ..PublicMethods | ..PublicProperties)] T>(<.TestEntry[]> factory) where T : class { } public static void RegisterGlobalInitializer(<.> initializer) { } - public static int RegisterHook(. bag, T hook) { } - public static int RegisterHook(.<.Assembly, .> dictionary, .Assembly key, T hook) { } - public static int RegisterHook(.<, .> dictionary, key, T hook) { } + public static int RegisterHook(.<.> bag, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<.Assembly, .<.>> dictionary, .Assembly key, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<, .<.>> dictionary, key, int registrationIndex, factory) + where T : . { } public static void RegisterProperty(..IPropertySource propertySource) { } } public static class Sources { - public static readonly .<.Assembly, .<.>> AfterAssemblyHooks; - public static readonly .<, .<.>> AfterClassHooks; - public static readonly .<.> AfterEveryAssemblyHooks; - public static readonly .<.> AfterEveryClassHooks; - public static readonly .<.> AfterEveryTestHooks; - public static readonly .<.> AfterTestDiscoveryHooks; - public static readonly .<, .<.>> AfterTestHooks; - public static readonly .<.> AfterTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> AfterAssemblyHooks; + public static readonly .<, .<.<.>>> AfterClassHooks; + public static readonly .<.<.>> AfterEveryAssemblyHooks; + public static readonly .<.<.>> AfterEveryClassHooks; + public static readonly .<.<.>> AfterEveryTestHooks; + public static readonly .<.<.>> AfterTestDiscoveryHooks; + public static readonly .<, .<.<.>>> AfterTestHooks; + public static readonly .<.<.>> AfterTestSessionHooks; public static readonly .<<.Assembly>> AssemblyLoaders; - public static readonly .<.Assembly, .<.>> BeforeAssemblyHooks; - public static readonly .<, .<.>> BeforeClassHooks; - public static readonly .<.> BeforeEveryAssemblyHooks; - public static readonly .<.> BeforeEveryClassHooks; - public static readonly .<.> BeforeEveryTestHooks; - public static readonly .<.> BeforeTestDiscoveryHooks; - public static readonly .<, .<.>> BeforeTestHooks; - public static readonly .<.> BeforeTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> BeforeAssemblyHooks; + public static readonly .<, .<.<.>>> BeforeClassHooks; + public static readonly .<.<.>> BeforeEveryAssemblyHooks; + public static readonly .<.<.>> BeforeEveryClassHooks; + public static readonly .<.<.>> BeforeEveryTestHooks; + public static readonly .<.<.>> BeforeTestDiscoveryHooks; + public static readonly .<, .<.<.>>> BeforeTestHooks; + public static readonly .<.<.>> BeforeTestSessionHooks; public static readonly .<.IDynamicTestSource> DynamicTestSources; public static readonly .<<.>> GlobalInitializers; public static readonly .<..IPropertySource> PropertySources; @@ -2393,6 +2396,14 @@ namespace .Hooks public bool Execute(.ClassHookContext context, .CancellationToken cancellationToken) { } public . ExecuteAsync(.ClassHookContext context, .CancellationToken cancellationToken) { } } + public sealed class LazyHookEntry + where T : . + { + public LazyHookEntry(T hook) { } + public LazyHookEntry(int registrationIndex, factory) { } + public int RegistrationIndex { get; } + public T Materialize() { } + } public abstract class StaticHookMethod : ., <.> { protected StaticHookMethod() { } diff --git a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet8_0.verified.txt b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet8_0.verified.txt index 6c1506df32..727930ed31 100644 --- a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet8_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet8_0.verified.txt @@ -1294,30 +1294,33 @@ namespace public static int RegisterEntries<[.(..None | ..PublicParameterlessConstructor | ..PublicConstructors | ..PublicMethods | ..PublicProperties)] T>(<.TestEntry[]> factory) where T : class { } public static void RegisterGlobalInitializer(<.> initializer) { } - public static int RegisterHook(. bag, T hook) { } - public static int RegisterHook(.<.Assembly, .> dictionary, .Assembly key, T hook) { } - public static int RegisterHook(.<, .> dictionary, key, T hook) { } + public static int RegisterHook(.<.> bag, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<.Assembly, .<.>> dictionary, .Assembly key, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<, .<.>> dictionary, key, int registrationIndex, factory) + where T : . { } public static void RegisterProperty(..IPropertySource propertySource) { } } public static class Sources { - public static readonly .<.Assembly, .<.>> AfterAssemblyHooks; - public static readonly .<, .<.>> AfterClassHooks; - public static readonly .<.> AfterEveryAssemblyHooks; - public static readonly .<.> AfterEveryClassHooks; - public static readonly .<.> AfterEveryTestHooks; - public static readonly .<.> AfterTestDiscoveryHooks; - public static readonly .<, .<.>> AfterTestHooks; - public static readonly .<.> AfterTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> AfterAssemblyHooks; + public static readonly .<, .<.<.>>> AfterClassHooks; + public static readonly .<.<.>> AfterEveryAssemblyHooks; + public static readonly .<.<.>> AfterEveryClassHooks; + public static readonly .<.<.>> AfterEveryTestHooks; + public static readonly .<.<.>> AfterTestDiscoveryHooks; + public static readonly .<, .<.<.>>> AfterTestHooks; + public static readonly .<.<.>> AfterTestSessionHooks; public static readonly .<<.Assembly>> AssemblyLoaders; - public static readonly .<.Assembly, .<.>> BeforeAssemblyHooks; - public static readonly .<, .<.>> BeforeClassHooks; - public static readonly .<.> BeforeEveryAssemblyHooks; - public static readonly .<.> BeforeEveryClassHooks; - public static readonly .<.> BeforeEveryTestHooks; - public static readonly .<.> BeforeTestDiscoveryHooks; - public static readonly .<, .<.>> BeforeTestHooks; - public static readonly .<.> BeforeTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> BeforeAssemblyHooks; + public static readonly .<, .<.<.>>> BeforeClassHooks; + public static readonly .<.<.>> BeforeEveryAssemblyHooks; + public static readonly .<.<.>> BeforeEveryClassHooks; + public static readonly .<.<.>> BeforeEveryTestHooks; + public static readonly .<.<.>> BeforeTestDiscoveryHooks; + public static readonly .<, .<.<.>>> BeforeTestHooks; + public static readonly .<.<.>> BeforeTestSessionHooks; public static readonly .<.IDynamicTestSource> DynamicTestSources; public static readonly .<<.>> GlobalInitializers; public static readonly .<..IPropertySource> PropertySources; @@ -2393,6 +2396,14 @@ namespace .Hooks public bool Execute(.ClassHookContext context, .CancellationToken cancellationToken) { } public . ExecuteAsync(.ClassHookContext context, .CancellationToken cancellationToken) { } } + public sealed class LazyHookEntry + where T : . + { + public LazyHookEntry(T hook) { } + public LazyHookEntry(int registrationIndex, factory) { } + public int RegistrationIndex { get; } + public T Materialize() { } + } public abstract class StaticHookMethod : ., <.> { protected StaticHookMethod() { } diff --git a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet9_0.verified.txt b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet9_0.verified.txt index 0a3813cb57..7a7fe98dc6 100644 --- a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet9_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.DotNet9_0.verified.txt @@ -1294,30 +1294,33 @@ namespace public static int RegisterEntries<[.(..None | ..PublicParameterlessConstructor | ..PublicConstructors | ..PublicMethods | ..PublicProperties)] T>(<.TestEntry[]> factory) where T : class { } public static void RegisterGlobalInitializer(<.> initializer) { } - public static int RegisterHook(. bag, T hook) { } - public static int RegisterHook(.<.Assembly, .> dictionary, .Assembly key, T hook) { } - public static int RegisterHook(.<, .> dictionary, key, T hook) { } + public static int RegisterHook(.<.> bag, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<.Assembly, .<.>> dictionary, .Assembly key, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<, .<.>> dictionary, key, int registrationIndex, factory) + where T : . { } public static void RegisterProperty(..IPropertySource propertySource) { } } public static class Sources { - public static readonly .<.Assembly, .<.>> AfterAssemblyHooks; - public static readonly .<, .<.>> AfterClassHooks; - public static readonly .<.> AfterEveryAssemblyHooks; - public static readonly .<.> AfterEveryClassHooks; - public static readonly .<.> AfterEveryTestHooks; - public static readonly .<.> AfterTestDiscoveryHooks; - public static readonly .<, .<.>> AfterTestHooks; - public static readonly .<.> AfterTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> AfterAssemblyHooks; + public static readonly .<, .<.<.>>> AfterClassHooks; + public static readonly .<.<.>> AfterEveryAssemblyHooks; + public static readonly .<.<.>> AfterEveryClassHooks; + public static readonly .<.<.>> AfterEveryTestHooks; + public static readonly .<.<.>> AfterTestDiscoveryHooks; + public static readonly .<, .<.<.>>> AfterTestHooks; + public static readonly .<.<.>> AfterTestSessionHooks; public static readonly .<<.Assembly>> AssemblyLoaders; - public static readonly .<.Assembly, .<.>> BeforeAssemblyHooks; - public static readonly .<, .<.>> BeforeClassHooks; - public static readonly .<.> BeforeEveryAssemblyHooks; - public static readonly .<.> BeforeEveryClassHooks; - public static readonly .<.> BeforeEveryTestHooks; - public static readonly .<.> BeforeTestDiscoveryHooks; - public static readonly .<, .<.>> BeforeTestHooks; - public static readonly .<.> BeforeTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> BeforeAssemblyHooks; + public static readonly .<, .<.<.>>> BeforeClassHooks; + public static readonly .<.<.>> BeforeEveryAssemblyHooks; + public static readonly .<.<.>> BeforeEveryClassHooks; + public static readonly .<.<.>> BeforeEveryTestHooks; + public static readonly .<.<.>> BeforeTestDiscoveryHooks; + public static readonly .<, .<.<.>>> BeforeTestHooks; + public static readonly .<.<.>> BeforeTestSessionHooks; public static readonly .<.IDynamicTestSource> DynamicTestSources; public static readonly .<<.>> GlobalInitializers; public static readonly .<..IPropertySource> PropertySources; @@ -2393,6 +2396,14 @@ namespace .Hooks public bool Execute(.ClassHookContext context, .CancellationToken cancellationToken) { } public . ExecuteAsync(.ClassHookContext context, .CancellationToken cancellationToken) { } } + public sealed class LazyHookEntry + where T : . + { + public LazyHookEntry(T hook) { } + public LazyHookEntry(int registrationIndex, factory) { } + public int RegistrationIndex { get; } + public T Materialize() { } + } public abstract class StaticHookMethod : ., <.> { protected StaticHookMethod() { } diff --git a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.Net4_7.verified.txt b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.Net4_7.verified.txt index 68b6a760e0..5a2f24547d 100644 --- a/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.Net4_7.verified.txt +++ b/TUnit.PublicAPI/Tests.Core_Library_Has_No_API_Changes.Net4_7.verified.txt @@ -1249,30 +1249,33 @@ namespace public static int RegisterEntries(<.TestEntry[]> factory) where T : class { } public static void RegisterGlobalInitializer(<.> initializer) { } - public static int RegisterHook(. bag, T hook) { } - public static int RegisterHook(.<.Assembly, .> dictionary, .Assembly key, T hook) { } - public static int RegisterHook(.<, .> dictionary, key, T hook) { } + public static int RegisterHook(.<.> bag, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<.Assembly, .<.>> dictionary, .Assembly key, int registrationIndex, factory) + where T : . { } + public static int RegisterHook(.<, .<.>> dictionary, key, int registrationIndex, factory) + where T : . { } public static void RegisterProperty(..IPropertySource propertySource) { } } public static class Sources { - public static readonly .<.Assembly, .<.>> AfterAssemblyHooks; - public static readonly .<, .<.>> AfterClassHooks; - public static readonly .<.> AfterEveryAssemblyHooks; - public static readonly .<.> AfterEveryClassHooks; - public static readonly .<.> AfterEveryTestHooks; - public static readonly .<.> AfterTestDiscoveryHooks; - public static readonly .<, .<.>> AfterTestHooks; - public static readonly .<.> AfterTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> AfterAssemblyHooks; + public static readonly .<, .<.<.>>> AfterClassHooks; + public static readonly .<.<.>> AfterEveryAssemblyHooks; + public static readonly .<.<.>> AfterEveryClassHooks; + public static readonly .<.<.>> AfterEveryTestHooks; + public static readonly .<.<.>> AfterTestDiscoveryHooks; + public static readonly .<, .<.<.>>> AfterTestHooks; + public static readonly .<.<.>> AfterTestSessionHooks; public static readonly .<<.Assembly>> AssemblyLoaders; - public static readonly .<.Assembly, .<.>> BeforeAssemblyHooks; - public static readonly .<, .<.>> BeforeClassHooks; - public static readonly .<.> BeforeEveryAssemblyHooks; - public static readonly .<.> BeforeEveryClassHooks; - public static readonly .<.> BeforeEveryTestHooks; - public static readonly .<.> BeforeTestDiscoveryHooks; - public static readonly .<, .<.>> BeforeTestHooks; - public static readonly .<.> BeforeTestSessionHooks; + public static readonly .<.Assembly, .<.<.>>> BeforeAssemblyHooks; + public static readonly .<, .<.<.>>> BeforeClassHooks; + public static readonly .<.<.>> BeforeEveryAssemblyHooks; + public static readonly .<.<.>> BeforeEveryClassHooks; + public static readonly .<.<.>> BeforeEveryTestHooks; + public static readonly .<.<.>> BeforeTestDiscoveryHooks; + public static readonly .<, .<.<.>>> BeforeTestHooks; + public static readonly .<.<.>> BeforeTestSessionHooks; public static readonly .<.IDynamicTestSource> DynamicTestSources; public static readonly .<<.>> GlobalInitializers; public static readonly .<..IPropertySource> PropertySources; @@ -2326,6 +2329,14 @@ namespace .Hooks public bool Execute(.ClassHookContext context, .CancellationToken cancellationToken) { } public . ExecuteAsync(.ClassHookContext context, .CancellationToken cancellationToken) { } } + public sealed class LazyHookEntry + where T : . + { + public LazyHookEntry(T hook) { } + public LazyHookEntry(int registrationIndex, factory) { } + public int RegistrationIndex { get; } + public T Materialize() { } + } public abstract class StaticHookMethod : ., <.> { protected StaticHookMethod() { }