diff --git a/TUnit.Analyzers.CodeFixers/TwoPhase/XUnitTwoPhaseAnalyzer.cs b/TUnit.Analyzers.CodeFixers/TwoPhase/XUnitTwoPhaseAnalyzer.cs index 8b1601a5a3..996c1b1b48 100644 --- a/TUnit.Analyzers.CodeFixers/TwoPhase/XUnitTwoPhaseAnalyzer.cs +++ b/TUnit.Analyzers.CodeFixers/TwoPhase/XUnitTwoPhaseAnalyzer.cs @@ -160,7 +160,7 @@ private bool IsXUnitAssertion(InvocationExpressionSyntax invocation) "StrictEqual" => ConvertStrictEqual(arguments), "Empty" => ConvertEmpty(arguments), "NotEmpty" => ConvertNotEmpty(arguments), - "Single" => ConvertSingle(arguments), + "Single" => ConvertSingle(memberAccess, arguments), "Contains" => ConvertContains(memberAccess, arguments), "DoesNotContain" => ConvertDoesNotContain(memberAccess, arguments), "Throws" => ConvertThrows(memberAccess, arguments), @@ -344,11 +344,31 @@ private bool IsXUnitAssertion(InvocationExpressionSyntax invocation) return (AssertionConversionKind.NotEmpty, $"await Assert.That({collection}).IsNotEmpty()", true, null); } - private (AssertionConversionKind, string?, bool, string?) ConvertSingle(SeparatedSyntaxList args) + private (AssertionConversionKind, string?, bool, string?) ConvertSingle(MemberAccessExpressionSyntax memberAccess, SeparatedSyntaxList args) { if (args.Count < 1) return (AssertionConversionKind.Single, null, false, null); var collection = args[0].Expression.ToString(); + + if (args.Count >= 2) + { + // xUnit has two overloads with a second parameter: + // Assert.Single(IEnumerable, Predicate) - predicate overload + // Assert.Single(IEnumerable, object?) - expected value overload + // Only convert the predicate overload to HasSingleItem(predicate). + var symbol = SemanticModel.GetSymbolInfo(memberAccess).Symbol; + if (symbol is IMethodSymbol { Parameters.Length: 2 } methodSymbol && + methodSymbol.Parameters[1].Type is INamedTypeSymbol { DelegateInvokeMethod: not null }) + { + var predicate = args[1].Expression.ToString(); + return (AssertionConversionKind.Single, $"await Assert.That({collection}).HasSingleItem({predicate})", true, null); + } + + // For the expected value overload, fall back to HasSingleItem() without predicate + return (AssertionConversionKind.Single, $"await Assert.That({collection}).HasSingleItem()", true, + "// TODO: xUnit Assert.Single(collection, expected) matched by value - verify conversion"); + } + return (AssertionConversionKind.Single, $"await Assert.That({collection}).HasSingleItem()", true, null); } diff --git a/TUnit.Assertions.Analyzers.CodeFixers.Tests/XUnitAssertionCodeFixProviderTests.cs b/TUnit.Assertions.Analyzers.CodeFixers.Tests/XUnitAssertionCodeFixProviderTests.cs index 2701ebbe30..e22474ec4d 100644 --- a/TUnit.Assertions.Analyzers.CodeFixers.Tests/XUnitAssertionCodeFixProviderTests.cs +++ b/TUnit.Assertions.Analyzers.CodeFixers.Tests/XUnitAssertionCodeFixProviderTests.cs @@ -419,4 +419,94 @@ public void MyTest() """ ); } + + [Test] + public async Task Xunit_Single_With_Predicate_Preserves_Lambda() + { + await Verifier + .VerifyCodeFixAsync( + """ + using System.Threading.Tasks; + using System.Collections.Generic; + + public class MyClass + { + public void MyTest() + { + var properties = new List + { + new Property { Prop = "myKey" } + }; + + {|#0:Xunit.Assert.Single(properties, p => p.Prop == "myKey")|}; + } + } + + public class Property + { + public string Prop { get; set; } + } + """, + Verifier.Diagnostic(Rules.XUnitAssertion) + .WithLocation(0), + """ + using System.Threading.Tasks; + using System.Collections.Generic; + + public class MyClass + { + public void MyTest() + { + var properties = new List + { + new Property { Prop = "myKey" } + }; + + Assert.That(properties).HasSingleItem(p => p.Prop == "myKey"); + } + } + + public class Property + { + public string Prop { get; set; } + } + """ + ); + } + + [Test] + public async Task Xunit_Single_Without_Predicate() + { + await Verifier + .VerifyCodeFixAsync( + """ + using System.Threading.Tasks; + using System.Collections.Generic; + + public class MyClass + { + public void MyTest() + { + var items = new List { 42 }; + {|#0:Xunit.Assert.Single(items)|}; + } + } + """, + Verifier.Diagnostic(Rules.XUnitAssertion) + .WithLocation(0), + """ + using System.Threading.Tasks; + using System.Collections.Generic; + + public class MyClass + { + public void MyTest() + { + var items = new List { 42 }; + Assert.That(items).HasSingleItem(); + } + } + """ + ); + } } diff --git a/TUnit.Assertions.Analyzers.CodeFixers/XUnitAssertionCodeFixProvider.cs b/TUnit.Assertions.Analyzers.CodeFixers/XUnitAssertionCodeFixProvider.cs index e5a5f6cf60..bb8e5ee8d0 100644 --- a/TUnit.Assertions.Analyzers.CodeFixers/XUnitAssertionCodeFixProvider.cs +++ b/TUnit.Assertions.Analyzers.CodeFixers/XUnitAssertionCodeFixProvider.cs @@ -188,7 +188,7 @@ private static async Task ConvertAssertionAsync(CodeFixContext context // "All" is handled separately in ConvertAssertionAsync - "Single" => SyntaxFactory.ParseExpression($"Assert.That({actual}).HasSingleItem()"), + "Single" => await Single(context, memberAccessExpressionSyntax, argumentListArguments), "IsType" => isGeneric ? SyntaxFactory.ParseExpression($"Assert.That({actual}).IsTypeOf<{genericArgs}>()") @@ -331,6 +331,32 @@ private static ExpressionSyntax CreateBooleanAssertion( return SyntaxFactory.ParseExpression($"Assert.That({condition}).{assertionMethod}()"); } + private static async Task Single(CodeFixContext context, + MemberAccessExpressionSyntax memberAccessExpressionSyntax, + SeparatedSyntaxList argumentListArguments) + { + if (argumentListArguments.Count >= 2) + { + // xUnit has two overloads with a second parameter: + // Assert.Single(IEnumerable, Predicate) - predicate overload + // Assert.Single(IEnumerable, object?) - expected value overload + // Only convert the predicate overload to HasSingleItem(predicate). + var semanticModel = await context.Document.GetSemanticModelAsync(); + var symbol = semanticModel?.GetSymbolInfo(memberAccessExpressionSyntax).Symbol; + + if (symbol is IMethodSymbol { Parameters.Length: 2 } methodSymbol && + methodSymbol.Parameters[1].Type is INamedTypeSymbol { DelegateInvokeMethod: not null }) + { + return SyntaxFactory.ParseExpression($"Assert.That({argumentListArguments[0]}).HasSingleItem({argumentListArguments[1]})"); + } + + // For the expected value overload, fall back to HasSingleItem() without predicate + return SyntaxFactory.ParseExpression($"Assert.That({argumentListArguments[0]}).HasSingleItem()"); + } + + return SyntaxFactory.ParseExpression($"Assert.That({argumentListArguments[0]}).HasSingleItem()"); + } + private static async Task Contains(CodeFixContext context, MemberAccessExpressionSyntax memberAccessExpressionSyntax, ArgumentSyntax? actual, ArgumentSyntax? expected) { diff --git a/TUnit.Assertions.Tests/ListAssertionTests.cs b/TUnit.Assertions.Tests/ListAssertionTests.cs index 58bb6db329..ce4feb54c4 100644 --- a/TUnit.Assertions.Tests/ListAssertionTests.cs +++ b/TUnit.Assertions.Tests/ListAssertionTests.cs @@ -203,6 +203,30 @@ public async Task Test_List_HasSingleItem() await Assert.That(list).HasSingleItem(); } + [Test] + public async Task Test_List_HasSingleItem_WithPredicate() + { + IList list = new List { 1, 2, 3, 4, 5 }; + var item = await Assert.That(list).HasSingleItem(x => x == 3); + await Assert.That(item).IsEqualTo(3); + } + + [Test] + public async Task Test_List_HasSingleItem_WithPredicate_Fails_WhenNoneMatch() + { + IList list = new List { 1, 2, 3 }; + var action = async () => await Assert.That(list).HasSingleItem(x => x > 10); + await Assert.That(action).ThrowsException(); + } + + [Test] + public async Task Test_List_HasSingleItem_WithPredicate_Fails_WhenMultipleMatch() + { + IList list = new List { 1, 2, 3, 4, 5 }; + var action = async () => await Assert.That(list).HasSingleItem(x => x > 3); + await Assert.That(action).ThrowsException(); + } + [Test] public async Task Test_List_IsInOrder() { diff --git a/TUnit.Assertions/Collections/CollectionChecks.cs b/TUnit.Assertions/Collections/CollectionChecks.cs index 337733b06d..d6b005f090 100644 --- a/TUnit.Assertions/Collections/CollectionChecks.cs +++ b/TUnit.Assertions/Collections/CollectionChecks.cs @@ -174,6 +174,39 @@ public static AssertionResult CheckHasSingleItem(ICollectionAdapter + /// Checks if exactly one item in the collection matches the predicate. + /// Returns the matching item via out parameter. + /// + public static AssertionResult CheckHasSingleItemPredicate( + ICollectionAdapter adapter, + Func predicate, + out TItem? matchingItem) + { + matchingItem = default; + var matchCount = 0; + + foreach (var item in adapter.AsEnumerable()) + { + if (predicate(item)) + { + matchCount++; + if (matchCount == 1) + { + matchingItem = item; + } + } + } + + if (matchCount == 1) + { + return AssertionResult.Passed; + } + + matchingItem = default; + return AssertionResult.Failed($"{matchCount} item(s) matched the predicate"); + } + /// /// Checks if all items satisfy the predicate. /// diff --git a/TUnit.Assertions/Conditions/CollectionAssertions.cs b/TUnit.Assertions/Conditions/CollectionAssertions.cs index 492c434cd8..66274474b6 100644 --- a/TUnit.Assertions/Conditions/CollectionAssertions.cs +++ b/TUnit.Assertions/Conditions/CollectionAssertions.cs @@ -413,6 +413,65 @@ private async Task ExecuteAndReturnItemAsync() } } +/// +/// Asserts that a collection contains exactly one item matching the predicate. +/// When awaited, returns the matching item for further assertions. +/// Delegates to CollectionChecks for the actual logic. +/// +[AssertionExtension("HasSingleItem")] +public class HasSingleItemPredicateAssertion : Sources.CollectionAssertionBase + where TCollection : IEnumerable +{ + private readonly Func _predicate; + private readonly string _predicateDescription; + private TItem? _singleItem; + + public HasSingleItemPredicateAssertion( + AssertionContext context, + Func predicate, + string predicateDescription) + : base(context) + { + _predicate = predicate ?? throw new ArgumentNullException(nameof(predicate)); + _predicateDescription = predicateDescription; + } + + protected override Task CheckAsync(EvaluationMetadata metadata) + { + if (metadata.Exception != null) + { + return Task.FromResult(AssertionResult.Failed($"threw {metadata.Exception.GetType().Name}")); + } + + if (metadata.Value == null) + { + return Task.FromResult(AssertionResult.Failed("value was null")); + } + + var adapter = new EnumerableAdapter(metadata.Value); + var result = CollectionChecks.CheckHasSingleItemPredicate(adapter, _predicate, out _singleItem); + return Task.FromResult(result); + } + + protected override string GetExpectation() => $"to have exactly one item matching {_predicateDescription}"; + + /// + /// Enables await syntax that returns the matching item. + /// This allows both chaining (.And) and item capture (await). + /// + public new System.Runtime.CompilerServices.TaskAwaiter GetAwaiter() + { + return ExecuteAndReturnItemAsync().GetAwaiter(); + } + + private async Task ExecuteAndReturnItemAsync() + { + await AssertAsync(); + + return _singleItem!; + } +} + /// /// Asserts that a collection contains an item matching the predicate. /// When awaited, returns the found item for further assertions. diff --git a/TUnit.Assertions/Sources/CollectionAssertionBase.cs b/TUnit.Assertions/Sources/CollectionAssertionBase.cs index 3025455b68..0a842a097e 100644 --- a/TUnit.Assertions/Sources/CollectionAssertionBase.cs +++ b/TUnit.Assertions/Sources/CollectionAssertionBase.cs @@ -260,6 +260,19 @@ public HasSingleItemAssertion HasSingleItem() return new HasSingleItemAssertion(Context); } + /// + /// Asserts that the collection contains exactly one item matching the predicate. + /// This instance method enables calling HasSingleItem with proper type inference. + /// Example: await Assert.That(list).HasSingleItem(x => x > 5); + /// + public HasSingleItemPredicateAssertion HasSingleItem( + Func predicate, + [CallerArgumentExpression(nameof(predicate))] string? expression = null) + { + Context.ExpressionBuilder.Append($".HasSingleItem({expression})"); + return new HasSingleItemPredicateAssertion(Context, predicate, expression ?? "predicate"); + } + /// /// Asserts that the collection contains only distinct (unique) items. /// This instance method enables calling HasDistinctItems with proper type inference. diff --git a/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTests.Test.verified.txt index 33e7b7bfed..a4d2604ec3 100644 --- a/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTests.Test.verified.txt @@ -251,7 +251,7 @@ internal static class TUnit_TestProject_ClassDataSourceDrivenTests_DataSource_Cl namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_1_ClassDataSource__InitializableClass_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_1_ClassDataSource__Ini_01E5B4B7_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -354,12 +354,12 @@ internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized }; } } -internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_1_ClassDataSource__InitializableClass_ModuleInitializer +internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_1_ClassDataSource__Ini_01E5B4B7_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_1_ClassDataSource__InitializableClass_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_1_ClassDataSource__Ini_01E5B4B7_TestSource()); } } @@ -373,7 +373,7 @@ internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_2_ClassDataSources__InitializableClass_InitializableClass_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_2_ClassDataSources__In_52B92153_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -483,12 +483,12 @@ internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized }; } } -internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_2_ClassDataSources__InitializableClass_InitializableClass_ModuleInitializer +internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_2_ClassDataSources__In_52B92153_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_2_ClassDataSources__InitializableClass_InitializableClass_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_2_ClassDataSources__In_52B92153_TestSource()); } } @@ -502,7 +502,7 @@ internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_3_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_3_ClassDataSources__In_8432A34C_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -619,12 +619,12 @@ internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized }; } } -internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_3_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_ModuleInitializer +internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_3_ClassDataSources__In_8432A34C_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_3_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_3_ClassDataSources__In_8432A34C_TestSource()); } } @@ -638,7 +638,7 @@ internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_4_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_InitializableClass_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_4_ClassDataSources__In_159CD9D1_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -762,12 +762,12 @@ internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized }; } } -internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_4_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_InitializableClass_ModuleInitializer +internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_4_ClassDataSources__In_159CD9D1_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_4_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_InitializableClass_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_4_ClassDataSources__In_159CD9D1_TestSource()); } } @@ -781,7 +781,7 @@ internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_5_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_InitializableClass_InitializableClass_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_5_ClassDataSources__In_CB437346_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -912,11 +912,11 @@ internal sealed class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized }; } } -internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_5_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_InitializableClass_InitializableClass_ModuleInitializer +internal static class TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_5_ClassDataSources__In_CB437346_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_5_ClassDataSources__InitializableClass_InitializableClass_InitializableClass_InitializableClass_InitializableClass_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTests), new TUnit_TestProject_ClassDataSourceDrivenTests_IsInitialized_With_5_ClassDataSources__In_CB437346_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTestsSharedKeyed.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTestsSharedKeyed.Test.verified.txt index ca656a25dd..02d1a1c367 100644 --- a/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTestsSharedKeyed.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ClassDataSourceDrivenTestsSharedKeyed.Test.verified.txt @@ -5,7 +5,7 @@ namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class__SomeAsyncDisposableClass_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class__SomeAsyncDis_82F9A818_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -110,12 +110,12 @@ internal sealed class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_Da }; } } -internal static class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class__SomeAsyncDisposableClass_ModuleInitializer +internal static class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class__SomeAsyncDis_82F9A818_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTestsSharedKeyed), new TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class__SomeAsyncDisposableClass_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTestsSharedKeyed), new TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class__SomeAsyncDis_82F9A818_TestSource()); } } @@ -129,7 +129,7 @@ internal static class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_Da namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class_Generic__SomeAsyncDisposableClass_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class_Generic__Some_7FC73642_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -234,11 +234,11 @@ internal sealed class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_Da }; } } -internal static class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class_Generic__SomeAsyncDisposableClass_ModuleInitializer +internal static class TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class_Generic__Some_7FC73642_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTestsSharedKeyed), new TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class_Generic__SomeAsyncDisposableClass_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.ClassDataSourceDrivenTestsSharedKeyed), new TUnit_TestProject_ClassDataSourceDrivenTestsSharedKeyed_DataSource_Class_Generic__Some_7FC73642_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet10_0.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet10_0.verified.txt index 40bb1ae3d8..aed83e58e3 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet10_0.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet10_0.verified.txt @@ -1556,7 +1556,7 @@ internal static class TUnit_TestProject_MatrixTests_Exclusion__int_int_ModuleIni namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1666,11 +1666,11 @@ internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParamet }; } } -internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_ModuleInitializer +internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet8_0.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet8_0.verified.txt index 40bb1ae3d8..aed83e58e3 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet8_0.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet8_0.verified.txt @@ -1556,7 +1556,7 @@ internal static class TUnit_TestProject_MatrixTests_Exclusion__int_int_ModuleIni namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1666,11 +1666,11 @@ internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParamet }; } } -internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_ModuleInitializer +internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet9_0.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet9_0.verified.txt index 40bb1ae3d8..aed83e58e3 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet9_0.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.DotNet9_0.verified.txt @@ -1556,7 +1556,7 @@ internal static class TUnit_TestProject_MatrixTests_Exclusion__int_int_ModuleIni namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1666,11 +1666,11 @@ internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParamet }; } } -internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_ModuleInitializer +internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.Net4_7.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.Net4_7.verified.txt index ec2251e2c9..9d3b3b6d00 100644 --- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.Net4_7.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.MatrixTest_WithConflictingNamespace.Net4_7.verified.txt @@ -1556,7 +1556,7 @@ internal static class TUnit_TestProject_MatrixTests_Exclusion__int_int_ModuleIni namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1666,11 +1666,11 @@ internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParamet }; } } -internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_ModuleInitializer +internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/DataSourceClassCombinedWithDataSourceMethodTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/DataSourceClassCombinedWithDataSourceMethodTests.Test.verified.txt index b12c3901cc..f8566c1769 100644 --- a/TUnit.Core.SourceGenerator.Tests/DataSourceClassCombinedWithDataSourceMethodTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/DataSourceClassCombinedWithDataSourceMethodTests.Test.verified.txt @@ -5,7 +5,7 @@ namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_DataSourceClassCombinedWithDataSourceMethod_DataSourceClassCombinedWithDataSourceMethodTest__int_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_DataSourceClassCombinedWithDataSourceMethod_DataSourceClassCombinedW_3C180E22_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -197,11 +197,11 @@ internal sealed class TUnit_TestProject_DataSourceClassCombinedWithDataSourceMet }; } } -internal static class TUnit_TestProject_DataSourceClassCombinedWithDataSourceMethod_DataSourceClassCombinedWithDataSourceMethodTest__int_ModuleInitializer +internal static class TUnit_TestProject_DataSourceClassCombinedWithDataSourceMethod_DataSourceClassCombinedW_3C180E22_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.DataSourceClassCombinedWithDataSourceMethod), new TUnit_TestProject_DataSourceClassCombinedWithDataSourceMethod_DataSourceClassCombinedWithDataSourceMethodTest__int_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.DataSourceClassCombinedWithDataSourceMethod), new TUnit_TestProject_DataSourceClassCombinedWithDataSourceMethod_DataSourceClassCombinedW_3C180E22_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/DecimalArgumentTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/DecimalArgumentTests.Test.verified.txt index 9ead9f138d..2531c6cbc5 100644 --- a/TUnit.Core.SourceGenerator.Tests/DecimalArgumentTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/DecimalArgumentTests.Test.verified.txt @@ -1007,7 +1007,7 @@ internal static class TUnit_TestProject_DecimalArgumentTests_Test__decimal_Modul namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_DecimalArgumentTests_TransactionDiscountCalculations__decimal_decimal_decimal_decimal_decimal_bool_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_DecimalArgumentTests_TransactionDiscountCalculations__decimal_decima_54FB9799_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1148,12 +1148,12 @@ internal sealed class TUnit_TestProject_DecimalArgumentTests_TransactionDiscount }; } } -internal static class TUnit_TestProject_DecimalArgumentTests_TransactionDiscountCalculations__decimal_decimal_decimal_decimal_decimal_bool_ModuleInitializer +internal static class TUnit_TestProject_DecimalArgumentTests_TransactionDiscountCalculations__decimal_decima_54FB9799_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.DecimalArgumentTests), new TUnit_TestProject_DecimalArgumentTests_TransactionDiscountCalculations__decimal_decimal_decimal_decimal_decimal_bool_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.DecimalArgumentTests), new TUnit_TestProject_DecimalArgumentTests_TransactionDiscountCalculations__decimal_decima_54FB9799_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/GenericMethodTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/GenericMethodTests.Test.verified.txt index 6cd74eaf06..c1786d178c 100644 --- a/TUnit.Core.SourceGenerator.Tests/GenericMethodTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/GenericMethodTests.Test.verified.txt @@ -5,7 +5,7 @@ namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_GenericMethodTests_AggregateBy_HasExpectedOutput__IEnumerable_TSource__Func_TSource__TKey__Func_TKey__TAccumulate__Func_TAccumulate__TSource__TAccumulate__IEqualityComp_06BD488B_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_GenericMethodTests_AggregateBy_HasExpectedOutput__IEnumerable_TSourc_06BD488B_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -440,11 +440,11 @@ internal sealed class TUnit_TestProject_GenericMethodTests_AggregateBy_HasExpect }; } } -internal static class TUnit_TestProject_GenericMethodTests_AggregateBy_HasExpectedOutput__IEnumerable_TSource__Func_TSource__TKey__Func_TKey__TAccumulate__Func_TAccumulate__TSource__TAccumulate__IEqualityComp_06BD488B_ModuleInitializer +internal static class TUnit_TestProject_GenericMethodTests_AggregateBy_HasExpectedOutput__IEnumerable_TSourc_06BD488B_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.GenericMethodTests), new TUnit_TestProject_GenericMethodTests_AggregateBy_HasExpectedOutput__IEnumerable_TSource__Func_TSource__TKey__Func_TKey__TAccumulate__Func_TAccumulate__TSource__TAccumulate__IEqualityComp_06BD488B_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.GenericMethodTests), new TUnit_TestProject_GenericMethodTests_AggregateBy_HasExpectedOutput__IEnumerable_TSourc_06BD488B_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/GenericMethodWithDataSourceTests.Generic_Method_With_MethodDataSource_Should_Generate_Tests.verified.txt b/TUnit.Core.SourceGenerator.Tests/GenericMethodWithDataSourceTests.Generic_Method_With_MethodDataSource_Should_Generate_Tests.verified.txt index 19c9672eb6..c445138b59 100644 --- a/TUnit.Core.SourceGenerator.Tests/GenericMethodWithDataSourceTests.Generic_Method_With_MethodDataSource_Should_Generate_Tests.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/GenericMethodWithDataSourceTests.Generic_Method_With_MethodDataSource_Should_Generate_Tests.verified.txt @@ -856,7 +856,7 @@ internal static class TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMet namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMethodAndDataSource_GenericMethod_With_DataSource__string_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMethodAndDataSource_GenericMeth_0AB5EDCD_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1146,12 +1146,12 @@ internal sealed class TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMet }; } } -internal static class TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMethodAndDataSource_GenericMethod_With_DataSource__string_ModuleInitializer +internal static class TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMethodAndDataSource_GenericMeth_0AB5EDCD_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._4431.NonGenericClassWithGenericMethodAndDataSource), new TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMethodAndDataSource_GenericMethod_With_DataSource__string_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._4431.NonGenericClassWithGenericMethodAndDataSource), new TUnit_TestProject_Bugs__4431_NonGenericClassWithGenericMethodAndDataSource_GenericMeth_0AB5EDCD_TestSource()); } } @@ -1781,7 +1781,7 @@ internal static class TUnit_TestProject_Bugs__4431_GenericClassWithConstructor_T namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_Bugs__4431_MultipleTypeParameters_T1_T2_Should_Handle_Multiple_Type_Parameters_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_Bugs__4431_MultipleTypeParameters_T1_T2_Should_Handle_Multiple_Type__8C0B02C5_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1998,12 +1998,12 @@ internal sealed class TUnit_TestProject_Bugs__4431_MultipleTypeParameters_T1_T2_ }; } } -internal static class TUnit_TestProject_Bugs__4431_MultipleTypeParameters_T1_T2_Should_Handle_Multiple_Type_Parameters_ModuleInitializer +internal static class TUnit_TestProject_Bugs__4431_MultipleTypeParameters_T1_T2_Should_Handle_Multiple_Type__8C0B02C5_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._4431.MultipleTypeParameters<,>), new TUnit_TestProject_Bugs__4431_MultipleTypeParameters_T1_T2_Should_Handle_Multiple_Type_Parameters_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._4431.MultipleTypeParameters<,>), new TUnit_TestProject_Bugs__4431_MultipleTypeParameters_T1_T2_Should_Handle_Multiple_Type__8C0B02C5_TestSource()); } } @@ -2621,7 +2621,7 @@ internal static class TUnit_TestProject_Bugs__4431_GenericClassWithClassDataSour namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_Bugs__4431_GenericClassGenericMethodWithDataSources_TClass_FullyGeneric_With_DataSources__bool_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_Bugs__4431_GenericClassGenericMethodWithDataSources_TClass_FullyGene_0A3B401E_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -3347,11 +3347,11 @@ internal sealed class TUnit_TestProject_Bugs__4431_GenericClassGenericMethodWith }; } } -internal static class TUnit_TestProject_Bugs__4431_GenericClassGenericMethodWithDataSources_TClass_FullyGeneric_With_DataSources__bool_ModuleInitializer +internal static class TUnit_TestProject_Bugs__4431_GenericClassGenericMethodWithDataSources_TClass_FullyGene_0A3B401E_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._4431.GenericClassGenericMethodWithDataSources<>), new TUnit_TestProject_Bugs__4431_GenericClassGenericMethodWithDataSources_TClass_FullyGeneric_With_DataSources__bool_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._4431.GenericClassGenericMethodWithDataSources<>), new TUnit_TestProject_Bugs__4431_GenericClassGenericMethodWithDataSources_TClass_FullyGene_0A3B401E_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/MatrixTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/MatrixTests.Test.verified.txt index e3aabda84b..39404ff175 100644 --- a/TUnit.Core.SourceGenerator.Tests/MatrixTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/MatrixTests.Test.verified.txt @@ -1556,7 +1556,7 @@ internal static class TUnit_TestProject_MatrixTests_Exclusion__int_int_ModuleIni namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1666,11 +1666,11 @@ internal sealed class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParamet }; } } -internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_ModuleInitializer +internal static class TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__bool_CountToTenEnum_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MatrixTests), new TUnit_TestProject_MatrixTests_MatrixMethod_WithEnumParameter_UsesOnlyMethodValues__boo_38BEEE8F_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/MethodDataSourceDrivenWithCancellationTokenTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/MethodDataSourceDrivenWithCancellationTokenTests.Test.verified.txt index 60fd01e3c6..d31124f197 100644 --- a/TUnit.Core.SourceGenerator.Tests/MethodDataSourceDrivenWithCancellationTokenTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/MethodDataSourceDrivenWithCancellationTokenTests.Test.verified.txt @@ -5,7 +5,7 @@ namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_MethodDataSourceDrivenWithCancellationTokenTests_MyTest__int_CancellationToken_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_MethodDataSourceDrivenWithCancellationTokenTests_MyTest__int_Cancell_DF7AA95A_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -229,11 +229,11 @@ internal sealed class TUnit_TestProject_MethodDataSourceDrivenWithCancellationTo }; } } -internal static class TUnit_TestProject_MethodDataSourceDrivenWithCancellationTokenTests_MyTest__int_CancellationToken_ModuleInitializer +internal static class TUnit_TestProject_MethodDataSourceDrivenWithCancellationTokenTests_MyTest__int_Cancell_DF7AA95A_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MethodDataSourceDrivenWithCancellationTokenTests), new TUnit_TestProject_MethodDataSourceDrivenWithCancellationTokenTests_MyTest__int_CancellationToken_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.MethodDataSourceDrivenWithCancellationTokenTests), new TUnit_TestProject_MethodDataSourceDrivenWithCancellationTokenTests_MyTest__int_Cancell_DF7AA95A_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/Tests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/Tests.Test.verified.txt index bd507798c2..fb0dd0297b 100644 --- a/TUnit.Core.SourceGenerator.Tests/Tests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/Tests.Test.verified.txt @@ -5,7 +5,7 @@ namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_Bugs__1304_Tests_TryParse_InvalidString_ReturnsFailure__string__CancellationToken_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_Bugs__1304_Tests_TryParse_InvalidString_ReturnsFailure__string__Canc_9F7FA274_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -120,12 +120,12 @@ internal sealed class TUnit_TestProject_Bugs__1304_Tests_TryParse_InvalidString_ }; } } -internal static class TUnit_TestProject_Bugs__1304_Tests_TryParse_InvalidString_ReturnsFailure__string__CancellationToken_ModuleInitializer +internal static class TUnit_TestProject_Bugs__1304_Tests_TryParse_InvalidString_ReturnsFailure__string__Canc_9F7FA274_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._1304.Tests), new TUnit_TestProject_Bugs__1304_Tests_TryParse_InvalidString_ReturnsFailure__string__CancellationToken_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._1304.Tests), new TUnit_TestProject_Bugs__1304_Tests_TryParse_InvalidString_ReturnsFailure__string__Canc_9F7FA274_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/Tests1538.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/Tests1538.Test.verified.txt index 39f43a31cb..672dffc6d6 100644 --- a/TUnit.Core.SourceGenerator.Tests/Tests1538.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/Tests1538.Test.verified.txt @@ -5,7 +5,7 @@ namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string__string__string__string__string__string__string__TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string__string__string__string__st_35276EED_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -179,12 +179,12 @@ internal sealed class TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string }; } } -internal static class TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string__string__string__string__string__string__string__ModuleInitializer +internal static class TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string__string__string__string__st_35276EED_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._1538.Tests), new TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string__string__string__string__string__string__string__TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._1538.Tests), new TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string__string__string__string__st_35276EED_TestSource()); } } @@ -198,7 +198,7 @@ internal static class TUnit_TestProject_Bugs__1538_Tests_Eight_Args__bool_string namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_Bugs__1538_Tests_SixteenArgs__bool_string__string__string__string__string__string__string__string__string__string__string__string__string__string__string__TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_Bugs__1538_Tests_SixteenArgs__bool_string__string__string__string__s_972B9C97_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -428,11 +428,11 @@ internal sealed class TUnit_TestProject_Bugs__1538_Tests_SixteenArgs__bool_strin }; } } -internal static class TUnit_TestProject_Bugs__1538_Tests_SixteenArgs__bool_string__string__string__string__string__string__string__string__string__string__string__string__string__string__string__ModuleInitializer +internal static class TUnit_TestProject_Bugs__1538_Tests_SixteenArgs__bool_string__string__string__string__s_972B9C97_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._1538.Tests), new TUnit_TestProject_Bugs__1538_Tests_SixteenArgs__bool_string__string__string__string__string__string__string__string__string__string__string__string__string__string__string__TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.Bugs._1538.Tests), new TUnit_TestProject_Bugs__1538_Tests_SixteenArgs__bool_string__string__string__string__s_972B9C97_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator.Tests/TimeoutCancellationTokenTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/TimeoutCancellationTokenTests.Test.verified.txt index 4e67691c40..22b83b7c2b 100644 --- a/TUnit.Core.SourceGenerator.Tests/TimeoutCancellationTokenTests.Test.verified.txt +++ b/TUnit.Core.SourceGenerator.Tests/TimeoutCancellationTokenTests.Test.verified.txt @@ -1134,7 +1134,7 @@ internal static class TUnit_TestProject_TimeoutDoesNotFireTests_QuickTestDoesNot namespace TUnit.Generated; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute] [global::System.CodeDom.Compiler.GeneratedCode("TUnit", "1.0.0.0")] -internal sealed class TUnit_TestProject_CancellationTokenTriggeredTests_CancellationTokenIsTriggered__CancellationToken_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource +internal sealed class TUnit_TestProject_CancellationTokenTriggeredTests_CancellationTokenIsTriggered__Cancel_38B13F70_TestSource : global::TUnit.Core.Interfaces.SourceGenerator.ITestSource, global::TUnit.Core.Interfaces.SourceGenerator.ITestDescriptorSource { public async global::System.Collections.Generic.IAsyncEnumerable GetTestsAsync(string testSessionId, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -1265,11 +1265,11 @@ internal sealed class TUnit_TestProject_CancellationTokenTriggeredTests_Cancella }; } } -internal static class TUnit_TestProject_CancellationTokenTriggeredTests_CancellationTokenIsTriggered__CancellationToken_ModuleInitializer +internal static class TUnit_TestProject_CancellationTokenTriggeredTests_CancellationTokenIsTriggered__Cancel_38B13F70_ModuleInitializer { [global::System.Runtime.CompilerServices.ModuleInitializer] public static void Initialize() { - global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.CancellationTokenTriggeredTests), new TUnit_TestProject_CancellationTokenTriggeredTests_CancellationTokenIsTriggered__CancellationToken_TestSource()); + global::TUnit.Core.SourceRegistrar.Register(typeof(global::TUnit.TestProject.CancellationTokenTriggeredTests), new TUnit_TestProject_CancellationTokenTriggeredTests_CancellationTokenIsTriggered__Cancel_38B13F70_TestSource()); } } diff --git a/TUnit.Core.SourceGenerator/Helpers/FileNameHelper.cs b/TUnit.Core.SourceGenerator/Helpers/FileNameHelper.cs index ff619469fd..973715db7a 100644 --- a/TUnit.Core.SourceGenerator/Helpers/FileNameHelper.cs +++ b/TUnit.Core.SourceGenerator/Helpers/FileNameHelper.cs @@ -17,7 +17,9 @@ internal static class FileNameHelper /// A deterministic filename like "MyNamespace_MyClass_MyMethod__Int32_String.g.cs" // Conservative limit to avoid PathTooLongException on Windows with net472, // which enforces the legacy 260-character MAX_PATH limit in Roslyn's AddSource. - private const int MaxHintNameLength = 200; + // The CI runner directory prefix (e.g. D:\a\TUnit\TUnit\...\obj\Debug\net472\generated\...\) + // can be ~140 chars, so hint name must be well under 120 chars to stay within 260. + private const int MaxHintNameLength = 100; public static string GetDeterministicFileNameForMethod(INamedTypeSymbol typeSymbol, IMethodSymbol methodSymbol) { diff --git a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet10_0.verified.txt b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet10_0.verified.txt index 59497a2138..558ee9f743 100644 --- a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet10_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet10_0.verified.txt @@ -502,6 +502,7 @@ namespace .Collections public static . CheckDoesNotOverlap(. adapter, . other) { } public static . CheckHasDistinctItems(. adapter, .? comparer = null) { } public static . CheckHasSingleItem(. adapter) { } + public static . CheckHasSingleItemPredicate(. adapter, predicate, out TItem? matchingItem) { } public static . CheckIsEmpty(. adapter) { } public static . CheckIsInDescendingOrder(. adapter, .? comparer = null) { } public static . CheckIsInOrder(. adapter, .? comparer = null) { } @@ -1216,6 +1217,15 @@ namespace .Conditions public . GetAwaiter() { } protected override string GetExpectation() { } } + [.("HasSingleItem")] + public class HasSingleItemPredicateAssertion : . + where TCollection : . + { + public HasSingleItemPredicateAssertion(. context, predicate, string predicateDescription) { } + protected override .<.> CheckAsync(. metadata) { } + public . GetAwaiter() { } + protected override string GetExpectation() { } + } [.<.>("IsSuccessStatusCode", CustomName="IsNotSuccessStatusCode", ExpectationMessage="have a success status code", NegateLogic=true)] [.<.>("IsSuccessStatusCode", ExpectationMessage="have a success status code")] public static class HttpResponseMessageAssertionExtensions @@ -3809,6 +3819,11 @@ namespace .Extensions public static . HasSingleItem(this . source) where TCollection : . { } } + public static class HasSingleItemPredicateAssertionExtensions + { + public static . HasSingleItem(this . source, predicate, string predicateDescription, [.("predicate")] string? predicateExpression = null, [.("predicateDescription")] string? predicateDescriptionExpression = null) + where TCollection : . { } + } public static class HttpResponseMessageAssertionExtensions { public static ._HasContentType_String_Assertion HasContentType(this .<.> source, string contentType, [.("contentType")] string? contentTypeExpression = null) { } @@ -5651,6 +5666,7 @@ namespace .Sources public . HasCount(int expectedCount, [.("expectedCount")] string? expression = null) { } public . HasDistinctItems() { } public . HasSingleItem() { } + public . HasSingleItem( predicate, [.("predicate")] string? expression = null) { } public . IsAssignableTo() { } public . IsEmpty() { } public . IsInDescendingOrder() { } diff --git a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt index c01ad50b4b..0e0fb126b6 100644 --- a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt @@ -485,6 +485,7 @@ namespace .Collections public static . CheckDoesNotOverlap(. adapter, . other) { } public static . CheckHasDistinctItems(. adapter, .? comparer = null) { } public static . CheckHasSingleItem(. adapter) { } + public static . CheckHasSingleItemPredicate(. adapter, predicate, out TItem? matchingItem) { } public static . CheckIsEmpty(. adapter) { } public static . CheckIsInDescendingOrder(. adapter, .? comparer = null) { } public static . CheckIsInOrder(. adapter, .? comparer = null) { } @@ -1199,6 +1200,15 @@ namespace .Conditions public . GetAwaiter() { } protected override string GetExpectation() { } } + [.("HasSingleItem")] + public class HasSingleItemPredicateAssertion : . + where TCollection : . + { + public HasSingleItemPredicateAssertion(. context, predicate, string predicateDescription) { } + protected override .<.> CheckAsync(. metadata) { } + public . GetAwaiter() { } + protected override string GetExpectation() { } + } [.<.>("IsSuccessStatusCode", CustomName="IsNotSuccessStatusCode", ExpectationMessage="have a success status code", NegateLogic=true)] [.<.>("IsSuccessStatusCode", ExpectationMessage="have a success status code")] public static class HttpResponseMessageAssertionExtensions @@ -3775,6 +3785,11 @@ namespace .Extensions public static . HasSingleItem(this . source) where TCollection : . { } } + public static class HasSingleItemPredicateAssertionExtensions + { + public static . HasSingleItem(this . source, predicate, string predicateDescription, [.("predicate")] string? predicateExpression = null, [.("predicateDescription")] string? predicateDescriptionExpression = null) + where TCollection : . { } + } public static class HttpResponseMessageAssertionExtensions { public static ._HasContentType_String_Assertion HasContentType(this .<.> source, string contentType, [.("contentType")] string? contentTypeExpression = null) { } @@ -5598,6 +5613,7 @@ namespace .Sources public . HasCount(int expectedCount, [.("expectedCount")] string? expression = null) { } public . HasDistinctItems() { } public . HasSingleItem() { } + public . HasSingleItem( predicate, [.("predicate")] string? expression = null) { } public . IsAssignableTo() { } public . IsEmpty() { } public . IsInDescendingOrder() { } diff --git a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt index 2a4e6c380f..aead0453b0 100644 --- a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt @@ -502,6 +502,7 @@ namespace .Collections public static . CheckDoesNotOverlap(. adapter, . other) { } public static . CheckHasDistinctItems(. adapter, .? comparer = null) { } public static . CheckHasSingleItem(. adapter) { } + public static . CheckHasSingleItemPredicate(. adapter, predicate, out TItem? matchingItem) { } public static . CheckIsEmpty(. adapter) { } public static . CheckIsInDescendingOrder(. adapter, .? comparer = null) { } public static . CheckIsInOrder(. adapter, .? comparer = null) { } @@ -1216,6 +1217,15 @@ namespace .Conditions public . GetAwaiter() { } protected override string GetExpectation() { } } + [.("HasSingleItem")] + public class HasSingleItemPredicateAssertion : . + where TCollection : . + { + public HasSingleItemPredicateAssertion(. context, predicate, string predicateDescription) { } + protected override .<.> CheckAsync(. metadata) { } + public . GetAwaiter() { } + protected override string GetExpectation() { } + } [.<.>("IsSuccessStatusCode", CustomName="IsNotSuccessStatusCode", ExpectationMessage="have a success status code", NegateLogic=true)] [.<.>("IsSuccessStatusCode", ExpectationMessage="have a success status code")] public static class HttpResponseMessageAssertionExtensions @@ -3809,6 +3819,11 @@ namespace .Extensions public static . HasSingleItem(this . source) where TCollection : . { } } + public static class HasSingleItemPredicateAssertionExtensions + { + public static . HasSingleItem(this . source, predicate, string predicateDescription, [.("predicate")] string? predicateExpression = null, [.("predicateDescription")] string? predicateDescriptionExpression = null) + where TCollection : . { } + } public static class HttpResponseMessageAssertionExtensions { public static ._HasContentType_String_Assertion HasContentType(this .<.> source, string contentType, [.("contentType")] string? contentTypeExpression = null) { } @@ -5651,6 +5666,7 @@ namespace .Sources public . HasCount(int expectedCount, [.("expectedCount")] string? expression = null) { } public . HasDistinctItems() { } public . HasSingleItem() { } + public . HasSingleItem( predicate, [.("predicate")] string? expression = null) { } public . IsAssignableTo() { } public . IsEmpty() { } public . IsInDescendingOrder() { } diff --git a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.Net4_7.verified.txt b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.Net4_7.verified.txt index d8f7e630fd..7758240ec5 100644 --- a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.Net4_7.verified.txt +++ b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.Net4_7.verified.txt @@ -444,6 +444,7 @@ namespace .Collections public static . CheckDoesNotOverlap(. adapter, . other) { } public static . CheckHasDistinctItems(. adapter, .? comparer = null) { } public static . CheckHasSingleItem(. adapter) { } + public static . CheckHasSingleItemPredicate(. adapter, predicate, out TItem? matchingItem) { } public static . CheckIsEmpty(. adapter) { } public static . CheckIsInDescendingOrder(. adapter, .? comparer = null) { } public static . CheckIsInOrder(. adapter, .? comparer = null) { } @@ -1048,6 +1049,15 @@ namespace .Conditions public . GetAwaiter() { } protected override string GetExpectation() { } } + [.("HasSingleItem")] + public class HasSingleItemPredicateAssertion : . + where TCollection : . + { + public HasSingleItemPredicateAssertion(. context, predicate, string predicateDescription) { } + protected override .<.> CheckAsync(. metadata) { } + public . GetAwaiter() { } + protected override string GetExpectation() { } + } [.<.>("IsSuccessStatusCode", CustomName="IsNotSuccessStatusCode", ExpectationMessage="have a success status code", NegateLogic=true)] [.<.>("IsSuccessStatusCode", ExpectationMessage="have a success status code")] public static class HttpResponseMessageAssertionExtensions @@ -3384,6 +3394,11 @@ namespace .Extensions public static . HasSingleItem(this . source) where TCollection : . { } } + public static class HasSingleItemPredicateAssertionExtensions + { + public static . HasSingleItem(this . source, predicate, string predicateDescription, [.("predicate")] string? predicateExpression = null, [.("predicateDescription")] string? predicateDescriptionExpression = null) + where TCollection : . { } + } public static class HttpResponseMessageAssertionExtensions { public static ._HasContentType_String_Assertion HasContentType(this .<.> source, string contentType, [.("contentType")] string? contentTypeExpression = null) { } @@ -4936,6 +4951,7 @@ namespace .Sources public . HasCount(int expectedCount, [.("expectedCount")] string? expression = null) { } public . HasDistinctItems() { } public . HasSingleItem() { } + public . HasSingleItem( predicate, [.("predicate")] string? expression = null) { } public . IsAssignableTo() { } public . IsEmpty() { } public . IsInDescendingOrder() { }