diff --git a/Recyclable.Collections.TestData.sln b/Recyclable.Collections.TestData.sln index e6ca371..9a66148 100644 --- a/Recyclable.Collections.TestData.sln +++ b/Recyclable.Collections.TestData.sln @@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.7.34031.279 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclable.Collections.TestData", "Recyclable.Collections.TestData\Recyclable.Collections.TestData.csproj", "{C78BEDC4-71C7-4893-B4A0-5C632E4D376E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclable.Collections.TestData", "Recyclable.Collections.TestData\Recyclable.Collections.TestData.csproj", "{C78BEDC4-71C7-4893-B4A0-5C632E4D376E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclable.Collections.TestData.xUnit", "Recyclable.Collections.TestData.xUnit\Recyclable.Collections.TestData.xUnit.csproj", "{C3217E79-86CB-451B-BBA6-04F09EFEEEBA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,6 +17,10 @@ Global {C78BEDC4-71C7-4893-B4A0-5C632E4D376E}.Debug|Any CPU.Build.0 = Debug|Any CPU {C78BEDC4-71C7-4893-B4A0-5C632E4D376E}.Release|Any CPU.ActiveCfg = Release|Any CPU {C78BEDC4-71C7-4893-B4A0-5C632E4D376E}.Release|Any CPU.Build.0 = Release|Any CPU + {C3217E79-86CB-451B-BBA6-04F09EFEEEBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C3217E79-86CB-451B-BBA6-04F09EFEEEBA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C3217E79-86CB-451B-BBA6-04F09EFEEEBA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C3217E79-86CB-451B-BBA6-04F09EFEEEBA}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Recyclable.Collections.TestData.xUnit/BlockSizeTheoryData.cs b/Recyclable.Collections.TestData.xUnit/BlockSizeTheoryData.cs new file mode 100644 index 0000000..e214084 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/BlockSizeTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class BlockSizeTheoryData : TheoryData + { + public BlockSizeTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.BlockSizeVariants) + { + Add(testCase); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/EmptySourceDataTheoryData.cs b/Recyclable.Collections.TestData.xUnit/EmptySourceDataTheoryData.cs new file mode 100644 index 0000000..7a92f45 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/EmptySourceDataTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class EmptySourceDataTheoryData : TheoryData, long> + { + public EmptySourceDataTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.EmptySourceDataVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/ItemsCountTheoryData.cs b/Recyclable.Collections.TestData.xUnit/ItemsCountTheoryData.cs new file mode 100644 index 0000000..d0c494e --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/ItemsCountTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class ItemsCountTheoryData : TheoryData + { + public ItemsCountTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.ItemsCountVariants) + { + Add(testCase); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/ItemsCountWithBlockSizeTheoryData.cs b/Recyclable.Collections.TestData.xUnit/ItemsCountWithBlockSizeTheoryData.cs new file mode 100644 index 0000000..0f9f856 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/ItemsCountWithBlockSizeTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class ItemsCountWithBlockSizeTheoryData : TheoryData + { + public ItemsCountWithBlockSizeTheoryData() + { + foreach (var (ItemsCount, BlockSize) in RecyclableLongListTestData.TargetDataVariants) + { + Add(ItemsCount, BlockSize); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/README.md b/Recyclable.Collections.TestData.xUnit/README.md new file mode 100644 index 0000000..47e7755 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/README.md @@ -0,0 +1,18 @@ +# Recyclable.Collections.TestData.xUnit +`Recyclable.Collections.TestData.xUnit` project is a basic open source package for working with repeatable xUnit test data useful for testing collections like `RecyclableList<T>`, `RecyclableLongList<T>`, `List<T>`, `SortableList<T>`, `PriorityQueue<T>` & similar. + +## Included +* `BlockSizeTheoryData: TheoryData` +* `EmptySourceDataTheoryData: TheoryData TestData, long ItemsCount>` +* `ItemsCountTheoryData: TheoryData` +* `ItemsCountWithBlockSizeTheoryData: TheoryData` +* `SourceDataTheoryData: TheoryData TestData, long ItemsCount>` +* `SourceDataWithBlockSizeTheoryData: TheoryData TestData, long ItemsCount, int BlockSize>` +* `SourceDataWithBlockSizeWithItemIndexTheoryData: TheoryData TestData, long ItemsCount, int BlockSize, IEnumerable ItemIndexes>` +* `SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData: TheoryData TestData, long ItemsCount, int BlockSize, IEnumerable<(long ItemIndex, long RangeItemsCount)> ItemRanges>` +* `SourceDataWithItemIndexTheoryData: TheoryData TestData, long ItemsCount, IEnumerable ItemIndexes>` +* `SourceRefDataTheoryData: TheoryData TestData, long ItemsCount>` +* `SourceRefDataWithBlockSizeTheoryData: TheoryData TestData, long ItemsCount, int BlockSize>` +* `SourceRefDataWithBlockSizeWithItemIndexTheoryData: TheoryData TestData, long ItemsCount, int BlockSize, IEnumerable ItemIndexes>` +* `SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData: TheoryData TestData, long ItemsCount, int BlockSize, IEnumerable<(long ItemIndex, long RangeItemsCount)> ItemRanges>` +* `SourceRefDataWithItemIndexTheoryData: TheoryData TestData, long ItemsCount, IEnumerable ItemIndexes>` diff --git a/Recyclable.Collections.TestData.xUnit/Recyclable.Collections.TestData.xUnit.csproj b/Recyclable.Collections.TestData.xUnit/Recyclable.Collections.TestData.xUnit.csproj new file mode 100644 index 0000000..fb59ef9 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/Recyclable.Collections.TestData.xUnit.csproj @@ -0,0 +1,44 @@ + + + + net6.0;net7.0 + enable + enable + Library + true + Recyclable.Collections.TestData.xUnit + 0.0.0.1 + Marek Lemańczyk + N/A + Recyclable.Collections.TestData.xUnit + Recyclable Array Pool List Sortable Sort Benchmark Benchmarks Collection Collections Test Data xUnit + `Recyclable.Collections.TestData.xUnit` project is a basic open source package for working with repeatable xUnit test data useful for testing collections like `RecyclableList<T>`, `RecyclableLongList<T>`, `List<T>`, `SortableList<T>`, `PriorityQueue<T>` & similar. + https://github.com/mlemanczyk/Recyclable.Collections.TestData + https://github.com/mlemanczyk/Recyclable.Collections.TestData.xUnit + Marek Lemańczyk 2023 + LICENSE.md + README.md + git + Initial version implemented. + AnyCPU;x64 + logo.png + + + + + + + + + + + + + + + + + + + + diff --git a/Recyclable.Collections.TestData.xUnit/SourceDataTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceDataTheoryData.cs new file mode 100644 index 0000000..3de2306 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceDataTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceDataTheoryData : TheoryData, long> + { + public SourceDataTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceDataVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeTheoryData.cs new file mode 100644 index 0000000..140b8c5 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceDataWithBlockSizeTheoryData : TheoryData, long, int> + { + public SourceDataWithBlockSizeTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceDataWithBlockSizeVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeWithItemIndexTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeWithItemIndexTheoryData.cs new file mode 100644 index 0000000..7287bf9 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeWithItemIndexTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceDataWithBlockSizeWithItemIndexTheoryData : TheoryData, long, int, IEnumerable> + { + public SourceDataWithBlockSizeWithItemIndexTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceDataWithBlockSizeWithItemIndexVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemIndexes); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData.cs new file mode 100644 index 0000000..9cd9812 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData : TheoryData, long, int, IEnumerable<(long, long)>> + { + public SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceDataWithBlockSizeWithItemIndexWithRangeVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemsIndexesWithRange); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceDataWithItemIndexTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceDataWithItemIndexTheoryData.cs new file mode 100644 index 0000000..7cf25b2 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceDataWithItemIndexTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceDataWithItemIndexTheoryData : TheoryData, long, IEnumerable> + { + public SourceDataWithItemIndexTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceDataWithItemIndexVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.ItemIndexes); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceRefDataTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceRefDataTheoryData.cs new file mode 100644 index 0000000..6a14528 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceRefDataTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceRefDataTheoryData : TheoryData, long> + { + public SourceRefDataTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceRefDataVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeTheoryData.cs new file mode 100644 index 0000000..8b4105b --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceRefDataWithBlockSizeTheoryData : TheoryData, long, int> + { + public SourceRefDataWithBlockSizeTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithBlockSizeVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeWithItemIndexTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeWithItemIndexTheoryData.cs new file mode 100644 index 0000000..344fc90 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeWithItemIndexTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceRefDataWithBlockSizeWithItemIndexTheoryData : TheoryData, long, int, IEnumerable> + { + public SourceRefDataWithBlockSizeWithItemIndexTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithBlockSizeWithItemIndexVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemIndexes); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData.cs new file mode 100644 index 0000000..70e5f02 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData : TheoryData, long, int, IEnumerable<(long, long)>> + { + public SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithBlockSizeWithItemIndexWithRangeVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemsIndexesWithRange); + } + } + } +} diff --git a/Recyclable.Collections.TestData.xUnit/SourceRefDataWithItemIndexTheoryData.cs b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithItemIndexTheoryData.cs new file mode 100644 index 0000000..90e4100 --- /dev/null +++ b/Recyclable.Collections.TestData.xUnit/SourceRefDataWithItemIndexTheoryData.cs @@ -0,0 +1,15 @@ +using Xunit; + +namespace Recyclable.Collections.TestData.xUnit +{ + public class SourceRefDataWithItemIndexTheoryData : TheoryData, long, IEnumerable> + { + public SourceRefDataWithItemIndexTheoryData() + { + foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithItemIndexVariants) + { + Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.ItemIndexes); + } + } + } +}