diff --git a/TUnit.Core.SourceGenerator.Tests/ArgsAsArrayTests.Test.verified.txt b/TUnit.Core.SourceGenerator.Tests/ArgsAsArrayTests.Test.verified.txt
index 4bd714eb7b..3b7a6fa3f8 100644
--- a/TUnit.Core.SourceGenerator.Tests/ArgsAsArrayTests.Test.verified.txt
+++ b/TUnit.Core.SourceGenerator.Tests/ArgsAsArrayTests.Test.verified.txt
@@ -1,4 +1,4 @@
-//
+//
#pragma warning disable
#nullable enable
@@ -31,6 +31,30 @@ global::TUnit.Core.ParameterMetadataFactory.Create(typeof(global::System.Collect
{
global::TUnit.Core.ParameterMetadataFactory.Create(typeof(int), "i", new global::TUnit.Core.ConcreteType(typeof(int)), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("Following_Non_Params", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(int), typeof(global::System.Collections.Generic.IEnumerable) }, null)!.GetParameters()[0]),
global::TUnit.Core.ParameterMetadataFactory.Create(typeof(global::System.Collections.Generic.IEnumerable), "arguments", new global::TUnit.Core.ConcreteType(typeof(global::System.Collections.Generic.IEnumerable)), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("Following_Non_Params", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(int), typeof(global::System.Collections.Generic.IEnumerable) }, null)!.GetParameters()[1])
+});
+ private static readonly global::TUnit.Core.MethodMetadata __mm_3 = global::TUnit.Core.MethodMetadataFactory.Create("NonParamsStringArray", __classType, typeof(global::System.Threading.Tasks.Task), __classMetadata, parameters: new global::TUnit.Core.ParameterMetadata[]
+{
+global::TUnit.Core.ParameterMetadataFactory.Create(typeof(string[]), "names", new global::TUnit.Core.ConcreteType(typeof(string[])), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("NonParamsStringArray", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(string[]) }, null)!.GetParameters()[0])
+});
+ private static readonly global::TUnit.Core.MethodMetadata __mm_4 = global::TUnit.Core.MethodMetadataFactory.Create("NonParamsStringArray_SingleValue", __classType, typeof(global::System.Threading.Tasks.Task), __classMetadata, parameters: new global::TUnit.Core.ParameterMetadata[]
+{
+global::TUnit.Core.ParameterMetadataFactory.Create(typeof(string[]), "names", new global::TUnit.Core.ConcreteType(typeof(string[])), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("NonParamsStringArray_SingleValue", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(string[]) }, null)!.GetParameters()[0])
+});
+ private static readonly global::TUnit.Core.MethodMetadata __mm_5 = global::TUnit.Core.MethodMetadataFactory.Create("NonParamsStringArray_MultipleValues", __classType, typeof(global::System.Threading.Tasks.Task), __classMetadata, parameters: new global::TUnit.Core.ParameterMetadata[]
+{
+global::TUnit.Core.ParameterMetadataFactory.Create(typeof(string[]), "names", new global::TUnit.Core.ConcreteType(typeof(string[])), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("NonParamsStringArray_MultipleValues", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(string[]) }, null)!.GetParameters()[0])
+});
+ private static readonly global::TUnit.Core.MethodMetadata __mm_6 = global::TUnit.Core.MethodMetadataFactory.Create("NonParamsIntArray", __classType, typeof(global::System.Threading.Tasks.Task), __classMetadata, parameters: new global::TUnit.Core.ParameterMetadata[]
+{
+global::TUnit.Core.ParameterMetadataFactory.Create(typeof(int[]), "numbers", new global::TUnit.Core.ConcreteType(typeof(int[])), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("NonParamsIntArray", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(int[]) }, null)!.GetParameters()[0])
+});
+ private static readonly global::TUnit.Core.MethodMetadata __mm_7 = global::TUnit.Core.MethodMetadataFactory.Create("GenericStringArray", __classType, typeof(global::System.Threading.Tasks.Task), __classMetadata, parameters: new global::TUnit.Core.ParameterMetadata[]
+{
+global::TUnit.Core.ParameterMetadataFactory.Create(typeof(string[]), "names", new global::TUnit.Core.ConcreteType(typeof(string[])), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("GenericStringArray", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(string[]) }, null)!.GetParameters()[0])
+});
+ private static readonly global::TUnit.Core.MethodMetadata __mm_8 = global::TUnit.Core.MethodMetadataFactory.Create("NonParamsStringArray_BeyondStaticCaseCap", __classType, typeof(global::System.Threading.Tasks.Task), __classMetadata, parameters: new global::TUnit.Core.ParameterMetadata[]
+{
+global::TUnit.Core.ParameterMetadataFactory.Create(typeof(string[]), "names", new global::TUnit.Core.ConcreteType(typeof(string[])), false, reflectionInfoFactory: static () => typeof(global::TUnit.TestProject.ArgsAsArrayTests).GetMethod("NonParamsStringArray_BeyondStaticCaseCap", global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, new global::System.Type[] { typeof(string[]) }, null)!.GetParameters()[0])
});
private static global::TUnit.TestProject.ArgsAsArrayTests __CreateInstance(global::System.Type[] typeArgs, object?[] args)
{
@@ -82,7 +106,8 @@ global::TUnit.Core.ParameterMetadataFactory.Create(typeof(global::System.Collect
return default(global::System.Threading.Tasks.ValueTask);
}
default:
- throw new global::System.ArgumentException($"Expected between 0 and 1 arguments, but got {args.Length}");
+ instance.Params((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0]));
+ return default(global::System.Threading.Tasks.ValueTask);
}
}
catch (global::System.Exception ex)
@@ -98,41 +123,42 @@ global::TUnit.Core.ParameterMetadataFactory.Create(typeof(global::System.Collect
{
case 0:
{
- instance.ParamsEnumerable(global::TUnit.Core.Helpers.CastHelper.Cast>(args[0]));
+ instance.ParamsEnumerable(new string[0]);
return default(global::System.Threading.Tasks.ValueTask);
}
case 1:
{
- instance.ParamsEnumerable(global::TUnit.Core.Helpers.CastHelper.Cast>(args[0]));
+ instance.ParamsEnumerable((args[0] is null ? null : args[0] is global::System.Collections.Generic.IEnumerable arr ? arr : new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) }));
return default(global::System.Threading.Tasks.ValueTask);
}
case 2:
{
- instance.ParamsEnumerable(global::TUnit.Core.Helpers.CastHelper.Cast>(args[0]));
+ instance.ParamsEnumerable(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 3:
{
- instance.ParamsEnumerable(global::TUnit.Core.Helpers.CastHelper.Cast>(args[0]));
+ instance.ParamsEnumerable(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 4:
{
- instance.ParamsEnumerable(global::TUnit.Core.Helpers.CastHelper.Cast>(args[0]));
+ instance.ParamsEnumerable(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 5:
{
- instance.ParamsEnumerable(global::TUnit.Core.Helpers.CastHelper.Cast>(args[0]));
+ instance.ParamsEnumerable(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 6:
{
- instance.ParamsEnumerable(global::TUnit.Core.Helpers.CastHelper.Cast>(args[0]));
+ instance.ParamsEnumerable(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) });
return default(global::System.Threading.Tasks.ValueTask);
}
default:
- throw new global::System.ArgumentException($"Expected between 0 and 1 arguments, but got {args.Length}");
+ instance.ParamsEnumerable((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0]));
+ return default(global::System.Threading.Tasks.ValueTask);
}
}
catch (global::System.Exception ex)
@@ -148,41 +174,304 @@ global::TUnit.Core.ParameterMetadataFactory.Create(typeof(global::System.Collect
{
case 1:
{
- instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast>(args[1]));
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), new string[0]);
return default(global::System.Threading.Tasks.ValueTask);
}
case 2:
{
- instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast>(args[1]));
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), (args[1] is null ? null : args[1] is global::System.Collections.Generic.IEnumerable arr ? arr : new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) }));
return default(global::System.Threading.Tasks.ValueTask);
}
case 3:
{
- instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast>(args[1]));
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 4:
{
- instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast>(args[1]));
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 5:
{
- instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast>(args[1]));
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 6:
{
- instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast>(args[1]));
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) });
return default(global::System.Threading.Tasks.ValueTask);
}
case 7:
{
- instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast>(args[1]));
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]), global::TUnit.Core.Helpers.CastHelper.Cast(args[6]) });
return default(global::System.Threading.Tasks.ValueTask);
}
default:
- throw new global::System.ArgumentException($"Expected between 1 and 2 arguments, but got {args.Length}");
+ if (args.Length < 1)
+ {
+ throw new global::System.ArgumentException($"Expected at least 1 argument, but got {args.Length}");
+ }
+ instance.Following_Non_Params(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), (args.Length > 1 ? global::System.Linq.Enumerable.Range(1, args.Length - 1).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0]));
+ return default(global::System.Threading.Tasks.ValueTask);
+ }
+ }
+ catch (global::System.Exception ex)
+ {
+ return new global::System.Threading.Tasks.ValueTask(global::System.Threading.Tasks.Task.FromException(ex));
+ }
+ }
+ case 3:
+ {
+ try
+ {
+ switch (args.Length)
+ {
+ case 0:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray(new string[0]));
+ }
+ case 1:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray((args[0] is null ? null : args[0] is string[] arr ? arr : new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) })));
+ }
+ case 2:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) }));
+ }
+ case 3:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) }));
+ }
+ case 4:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) }));
+ }
+ case 5:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) }));
+ }
+ case 6:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) }));
+ }
+ default:
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0])));
+ }
+ }
+ catch (global::System.Exception ex)
+ {
+ return new global::System.Threading.Tasks.ValueTask(global::System.Threading.Tasks.Task.FromException(ex));
+ }
+ }
+ case 4:
+ {
+ try
+ {
+ switch (args.Length)
+ {
+ case 0:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue(new string[0]));
+ }
+ case 1:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue((args[0] is null ? null : args[0] is string[] arr ? arr : new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) })));
+ }
+ case 2:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) }));
+ }
+ case 3:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) }));
+ }
+ case 4:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) }));
+ }
+ case 5:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) }));
+ }
+ case 6:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) }));
+ }
+ default:
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_SingleValue((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0])));
+ }
+ }
+ catch (global::System.Exception ex)
+ {
+ return new global::System.Threading.Tasks.ValueTask(global::System.Threading.Tasks.Task.FromException(ex));
+ }
+ }
+ case 5:
+ {
+ try
+ {
+ switch (args.Length)
+ {
+ case 0:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues(new string[0]));
+ }
+ case 1:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues((args[0] is null ? null : args[0] is string[] arr ? arr : new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) })));
+ }
+ case 2:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) }));
+ }
+ case 3:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) }));
+ }
+ case 4:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) }));
+ }
+ case 5:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) }));
+ }
+ case 6:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) }));
+ }
+ default:
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_MultipleValues((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0])));
+ }
+ }
+ catch (global::System.Exception ex)
+ {
+ return new global::System.Threading.Tasks.ValueTask(global::System.Threading.Tasks.Task.FromException(ex));
+ }
+ }
+ case 6:
+ {
+ try
+ {
+ switch (args.Length)
+ {
+ case 0:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray(new int[0]));
+ }
+ case 1:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray((args[0] is null ? null : args[0] is int[] arr ? arr : new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) })));
+ }
+ case 2:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) }));
+ }
+ case 3:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) }));
+ }
+ case 4:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) }));
+ }
+ case 5:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) }));
+ }
+ case 6:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) }));
+ }
+ default:
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsIntArray((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new int[0])));
+ }
+ }
+ catch (global::System.Exception ex)
+ {
+ return new global::System.Threading.Tasks.ValueTask(global::System.Threading.Tasks.Task.FromException(ex));
+ }
+ }
+ case 7:
+ {
+ try
+ {
+ switch (args.Length)
+ {
+ case 0:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray(new string[0]));
+ }
+ case 1:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray((args[0] is null ? null : args[0] is string[] arr ? arr : new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) })));
+ }
+ case 2:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) }));
+ }
+ case 3:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) }));
+ }
+ case 4:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) }));
+ }
+ case 5:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) }));
+ }
+ case 6:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) }));
+ }
+ default:
+ return new global::System.Threading.Tasks.ValueTask(instance.GenericStringArray((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0])));
+ }
+ }
+ catch (global::System.Exception ex)
+ {
+ return new global::System.Threading.Tasks.ValueTask(global::System.Threading.Tasks.Task.FromException(ex));
+ }
+ }
+ case 8:
+ {
+ try
+ {
+ switch (args.Length)
+ {
+ case 0:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap(new string[0]));
+ }
+ case 1:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap((args[0] is null ? null : args[0] is string[] arr ? arr : new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) })));
+ }
+ case 2:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) }));
+ }
+ case 3:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) }));
+ }
+ case 4:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) }));
+ }
+ case 5:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) }));
+ }
+ case 6:
+ {
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap(new string[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]), global::TUnit.Core.Helpers.CastHelper.Cast(args[5]) }));
+ }
+ default:
+ return new global::System.Threading.Tasks.ValueTask(instance.NonParamsStringArray_BeyondStaticCaseCap((args.Length > 0 ? global::System.Linq.Enumerable.Range(0, args.Length).Select(i => global::TUnit.Core.Helpers.CastHelper.Cast(args[i])).ToArray() : new string[0])));
}
}
catch (global::System.Exception ex)
@@ -275,6 +564,139 @@ global::TUnit.Core.ParameterMetadataFactory.Create(typeof(global::System.Collect
TestDataSources = new global::TUnit.Core.IDataSourceAttribute[]
{
new global::TUnit.Core.ArgumentsAttribute(1, "arg1", "arg2", "arg3"),
+},
+ },
+ new global::TUnit.Core.TestEntry
+ {
+ MethodName = "NonParamsStringArray",
+ FullyQualifiedName = "TUnit.TestProject.ArgsAsArrayTests.NonParamsStringArray",
+ FilePath = @"",
+ LineNumber = 38,
+ Categories = global::System.Array.Empty(),
+ Properties = global::System.Array.Empty(),
+ HasDataSource = true,
+ RepeatCount = 0,
+ DependsOn = global::System.Array.Empty(),
+ MethodMetadata = __mm_3,
+ CreateInstance = __CreateInstance,
+ InvokeBody = __Invoke,
+ MethodIndex = 3,
+ CreateAttributes = __Attributes,
+ AttributeGroupIndex = 0,
+ TestDataSources = new global::TUnit.Core.IDataSourceAttribute[]
+{
+ new global::TUnit.Core.ArgumentsAttribute(new object[]{"Chloe"}),
+ new global::TUnit.Core.ArgumentsAttribute(new object[]{"Skipper","Lucy"}),
+},
+ },
+ new global::TUnit.Core.TestEntry
+ {
+ MethodName = "NonParamsStringArray_SingleValue",
+ FullyQualifiedName = "TUnit.TestProject.ArgsAsArrayTests.NonParamsStringArray_SingleValue",
+ FilePath = @"",
+ LineNumber = 47,
+ Categories = global::System.Array.Empty(),
+ Properties = global::System.Array.Empty(),
+ HasDataSource = true,
+ RepeatCount = 0,
+ DependsOn = global::System.Array.Empty(),
+ MethodMetadata = __mm_4,
+ CreateInstance = __CreateInstance,
+ InvokeBody = __Invoke,
+ MethodIndex = 4,
+ CreateAttributes = __Attributes,
+ AttributeGroupIndex = 0,
+ TestDataSources = new global::TUnit.Core.IDataSourceAttribute[]
+{
+ new global::TUnit.Core.ArgumentsAttribute("Chloe"),
+},
+ },
+ new global::TUnit.Core.TestEntry
+ {
+ MethodName = "NonParamsStringArray_MultipleValues",
+ FullyQualifiedName = "TUnit.TestProject.ArgsAsArrayTests.NonParamsStringArray_MultipleValues",
+ FilePath = @"",
+ LineNumber = 54,
+ Categories = global::System.Array.Empty(),
+ Properties = global::System.Array.Empty(),
+ HasDataSource = true,
+ RepeatCount = 0,
+ DependsOn = global::System.Array.Empty(),
+ MethodMetadata = __mm_5,
+ CreateInstance = __CreateInstance,
+ InvokeBody = __Invoke,
+ MethodIndex = 5,
+ CreateAttributes = __Attributes,
+ AttributeGroupIndex = 0,
+ TestDataSources = new global::TUnit.Core.IDataSourceAttribute[]
+{
+ new global::TUnit.Core.ArgumentsAttribute(new object[]{"Skipper","Lucy"}),
+},
+ },
+ new global::TUnit.Core.TestEntry
+ {
+ MethodName = "NonParamsIntArray",
+ FullyQualifiedName = "TUnit.TestProject.ArgsAsArrayTests.NonParamsIntArray",
+ FilePath = @"",
+ LineNumber = 61,
+ Categories = global::System.Array.Empty(),
+ Properties = global::System.Array.Empty(),
+ HasDataSource = true,
+ RepeatCount = 0,
+ DependsOn = global::System.Array.Empty(),
+ MethodMetadata = __mm_6,
+ CreateInstance = __CreateInstance,
+ InvokeBody = __Invoke,
+ MethodIndex = 6,
+ CreateAttributes = __Attributes,
+ AttributeGroupIndex = 0,
+ TestDataSources = new global::TUnit.Core.IDataSourceAttribute[]
+{
+ new global::TUnit.Core.ArgumentsAttribute(1, 2, 3),
+},
+ },
+ new global::TUnit.Core.TestEntry
+ {
+ MethodName = "GenericStringArray",
+ FullyQualifiedName = "TUnit.TestProject.ArgsAsArrayTests.GenericStringArray",
+ FilePath = @"",
+ LineNumber = 69,
+ Categories = global::System.Array.Empty(),
+ Properties = global::System.Array.Empty(),
+ HasDataSource = true,
+ RepeatCount = 0,
+ DependsOn = global::System.Array.Empty(),
+ MethodMetadata = __mm_7,
+ CreateInstance = __CreateInstance,
+ InvokeBody = __Invoke,
+ MethodIndex = 7,
+ CreateAttributes = __Attributes,
+ AttributeGroupIndex = 0,
+ TestDataSources = new global::TUnit.Core.IDataSourceAttribute[]
+{
+ new global::TUnit.Core.ArgumentsAttribute(new string[]{"Skipper","Lucy"}),
+},
+ },
+ new global::TUnit.Core.TestEntry
+ {
+ MethodName = "NonParamsStringArray_BeyondStaticCaseCap",
+ FullyQualifiedName = "TUnit.TestProject.ArgsAsArrayTests.NonParamsStringArray_BeyondStaticCaseCap",
+ FilePath = @"",
+ LineNumber = 78,
+ Categories = global::System.Array.Empty(),
+ Properties = global::System.Array.Empty(),
+ HasDataSource = true,
+ RepeatCount = 0,
+ DependsOn = global::System.Array.Empty(),
+ MethodMetadata = __mm_8,
+ CreateInstance = __CreateInstance,
+ InvokeBody = __Invoke,
+ MethodIndex = 8,
+ CreateAttributes = __Attributes,
+ AttributeGroupIndex = 0,
+ TestDataSources = new global::TUnit.Core.IDataSourceAttribute[]
+{
+ new global::TUnit.Core.ArgumentsAttribute("a", "b", "c", "d", "e", "f", "g", "h"),
},
},
};
diff --git a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.DataDrivenTest_WithConflictingNamespace.DotNet10_0.verified.txt b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.DataDrivenTest_WithConflictingNamespace.DotNet10_0.verified.txt
index d755ba780c..4aa3da7152 100644
--- a/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.DataDrivenTest_WithConflictingNamespace.DotNet10_0.verified.txt
+++ b/TUnit.Core.SourceGenerator.Tests/ConflictingNamespaceTests.DataDrivenTest_WithConflictingNamespace.DotNet10_0.verified.txt
@@ -234,13 +234,44 @@ global::TUnit.Core.ParameterMetadataFactory.Create(typeof(int), "value", new glo
{
switch (args.Length)
{
+ case 0:
+ {
+ instance.IntegerArray(new int[0]);
+ return default(global::System.Threading.Tasks.ValueTask);
+ }
case 1:
{
- instance.IntegerArray(global::TUnit.Core.Helpers.CastHelper.Cast(args[0]));
+ instance.IntegerArray((args[0] is null ? null : args[0] is int[] arr ? arr : new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]) }));
+ return default(global::System.Threading.Tasks.ValueTask);
+ }
+ case 2:
+ {
+ instance.IntegerArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]) });
+ return default(global::System.Threading.Tasks.ValueTask);
+ }
+ case 3:
+ {
+ instance.IntegerArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]) });
+ return default(global::System.Threading.Tasks.ValueTask);
+ }
+ case 4:
+ {
+ instance.IntegerArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]) });
+ return default(global::System.Threading.Tasks.ValueTask);
+ }
+ case 5:
+ {
+ instance.IntegerArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast(args[1]), global::TUnit.Core.Helpers.CastHelper.Cast(args[2]), global::TUnit.Core.Helpers.CastHelper.Cast(args[3]), global::TUnit.Core.Helpers.CastHelper.Cast(args[4]) });
+ return default(global::System.Threading.Tasks.ValueTask);
+ }
+ case 6:
+ {
+ instance.IntegerArray(new int[] { global::TUnit.Core.Helpers.CastHelper.Cast(args[0]), global::TUnit.Core.Helpers.CastHelper.Cast