diff --git a/Funcky.Xunit/Extensions/ToTheoryDataExtension.cs b/Funcky.Xunit/Extensions/ToTheoryDataExtension.cs index 56f64227..cd674d48 100644 --- a/Funcky.Xunit/Extensions/ToTheoryDataExtension.cs +++ b/Funcky.Xunit/Extensions/ToTheoryDataExtension.cs @@ -1,4 +1,5 @@ #if !XUNIT_V3 +using System.ComponentModel; using Xunit; namespace Funcky.Extensions; @@ -38,10 +39,16 @@ public static TheoryData ToTheoryData source.Aggregate(new TheoryData(), AddElementToTheoryData); [Pure] + [Obsolete("This overload is incorrect, the last element has to be a tuple itself.")] + [EditorBrowsable(EditorBrowsableState.Never)] public static TheoryData ToTheoryData(this IEnumerable> source) where T8 : notnull => source.Aggregate(new TheoryData(), AddElementToTheoryData); + [Pure] + public static TheoryData ToTheoryData(this IEnumerable>> source) + => source.Aggregate(new TheoryData(), AddElementToTheoryData); + [Pure] public static TheoryData ToTheoryData(this IEnumerable>> source) => source.Aggregate(new TheoryData(), AddElementToTheoryData); @@ -154,6 +161,13 @@ private static TheoryData AddElementToTheoryData return theoryData; } + private static TheoryData AddElementToTheoryData(TheoryData theoryData, Tuple> tuple) + { + theoryData.Add(tuple.Item1, tuple.Item2, tuple.Item3, tuple.Item4, tuple.Item5, tuple.Item6, tuple.Item7, tuple.Rest.Item1); + + return theoryData; + } + private static TheoryData AddElementToTheoryData(TheoryData theoryData, Tuple> tuple) { theoryData.Add(tuple.Item1, tuple.Item2, tuple.Item3, tuple.Item4, tuple.Item5, tuple.Item6, tuple.Item7, tuple.Rest.Item1, tuple.Rest.Item2); diff --git a/Funcky.Xunit/PublicAPI.Unshipped.txt b/Funcky.Xunit/PublicAPI.Unshipped.txt index 7dc5c581..71be67d6 100644 --- a/Funcky.Xunit/PublicAPI.Unshipped.txt +++ b/Funcky.Xunit/PublicAPI.Unshipped.txt @@ -1 +1,2 @@ #nullable enable +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>!>! source) -> Xunit.TheoryData!