Recyclable.Collections.TestData.xUnit package added.

This commit is contained in:
mlemanczyk committed 2023-12-27 19:52:57 +01:00
1 parent 46db4b2d48
commit 25ce4364f5
17 files changed
+279 -1

No files matched your search

@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class BlockSizeTheoryData : TheoryData<int>
{
public BlockSizeTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.BlockSizeVariants)
{
Add(testCase);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class EmptySourceDataTheoryData : TheoryData<string, IEnumerable<long>, long>
{
public EmptySourceDataTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.EmptySourceDataVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class ItemsCountTheoryData : TheoryData<long>
{
public ItemsCountTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.ItemsCountVariants)
{
Add(testCase);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class ItemsCountWithBlockSizeTheoryData : TheoryData<long, int>
{
public ItemsCountWithBlockSizeTheoryData()
{
foreach (var (ItemsCount, BlockSize) in RecyclableLongListTestData.TargetDataVariants)
{
Add(ItemsCount, BlockSize);
}
}
}
}
@@ -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&lt;T&gt;`, `RecyclableLongList&lt;T&gt;`, `List&lt;T&gt;`, `SortableList&lt;T&gt;`, `PriorityQueue&lt;T&gt;` &amp; similar.
## Included
* `BlockSizeTheoryData: TheoryData<int BlockSize>`
* `EmptySourceDataTheoryData: TheoryData<string TestCase, IEnumerable<long> TestData, long ItemsCount>`
* `ItemsCountTheoryData: TheoryData<long ItemsCount>`
* `ItemsCountWithBlockSizeTheoryData: TheoryData<long ItemsCount, int BlockSize>`
* `SourceDataTheoryData: TheoryData<string TestCase, IEnumerable<long> TestData, long ItemsCount>`
* `SourceDataWithBlockSizeTheoryData: TheoryData<string TestCase, IEnumerable<long> TestData, long ItemsCount, int BlockSize>`
* `SourceDataWithBlockSizeWithItemIndexTheoryData: TheoryData<string TestCase, IEnumerable<long> TestData, long ItemsCount, int BlockSize, IEnumerable<long> ItemIndexes>`
* `SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData: TheoryData<string TestCase, IEnumerable<long> TestData, long ItemsCount, int BlockSize, IEnumerable<(long ItemIndex, long RangeItemsCount)> ItemRanges>`
* `SourceDataWithItemIndexTheoryData: TheoryData<string TestCase, IEnumerable<long> TestData, long ItemsCount, IEnumerable<long> ItemIndexes>`
* `SourceRefDataTheoryData: TheoryData<string TestCase, IEnumerable<object> TestData, long ItemsCount>`
* `SourceRefDataWithBlockSizeTheoryData: TheoryData<string TestCase, IEnumerable<object> TestData, long ItemsCount, int BlockSize>`
* `SourceRefDataWithBlockSizeWithItemIndexTheoryData: TheoryData<string TestCase, IEnumerable<object> TestData, long ItemsCount, int BlockSize, IEnumerable<long> ItemIndexes>`
* `SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData: TheoryData<string TestCase, IEnumerable<object> TestData, long ItemsCount, int BlockSize, IEnumerable<(long ItemIndex, long RangeItemsCount)> ItemRanges>`
* `SourceRefDataWithItemIndexTheoryData: TheoryData<string TestCase, IEnumerable<object> TestData, long ItemsCount, IEnumerable<long> ItemIndexes>`
@@ -0,0 +1,44 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<OutputType>Library</OutputType>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageId>Recyclable.Collections.TestData.xUnit</PackageId>
<PackageVersion>0.0.0.1</PackageVersion>
<Authors>Marek Lemańczyk</Authors>
<Company>N/A</Company>
<Product>Recyclable.Collections.TestData.xUnit</Product>
<PackageTags>Recyclable Array Pool List Sortable Sort Benchmark Benchmarks Collection Collections Test Data xUnit</PackageTags>
<Description>`Recyclable.Collections.TestData.xUnit` project is a basic open source package for working with repeatable xUnit test data useful for testing collections like `RecyclableList&lt;T&gt;`, `RecyclableLongList&lt;T&gt;`, `List&lt;T&gt;`, `SortableList&lt;T&gt;`, `PriorityQueue&lt;T&gt;` &amp; similar.</Description>
<PackageProjectUrl>https://github.com/mlemanczyk/Recyclable.Collections.TestData</PackageProjectUrl>
<RepositoryUrl>https://github.com/mlemanczyk/Recyclable.Collections.TestData.xUnit</RepositoryUrl>
<Copyright>Marek Lemańczyk 2023</Copyright>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryType>git</RepositoryType>
<PackageReleaseNotes>Initial version implemented.</PackageReleaseNotes>
<Platforms>AnyCPU;x64</Platforms>
<PackageIcon>logo.png</PackageIcon>
</PropertyGroup>
<ItemGroup>
<Content Include="..\logo.png" Pack="true" PackagePath="" Link="logo.png" />
</ItemGroup>
<ItemGroup>
<None Include="..\LICENSE.md" Pack="true" PackagePath="" Link="LICENSE.md" />
<None Include="README.md" Pack="true" PackagePath="" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.ObjectPool" Version="8.0.0" />
<PackageReference Include="Open.Numeric.Primes" Version="3.1.0" />
<PackageReference Include="Recyclable.Collections" Version="0.0.6.1" />
<PackageReference Include="Recyclable.Collections.TestData" Version="0.0.3.4" />
<PackageReference Include="xunit.extensibility.core" Version="2.6.4" />
</ItemGroup>
</Project>
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceDataTheoryData : TheoryData<string, IEnumerable<long>, long>
{
public SourceDataTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceDataVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceDataWithBlockSizeTheoryData : TheoryData<string, IEnumerable<long>, long, int>
{
public SourceDataWithBlockSizeTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceDataWithBlockSizeVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceDataWithBlockSizeWithItemIndexTheoryData : TheoryData<string, IEnumerable<long>, long, int, IEnumerable<long>>
{
public SourceDataWithBlockSizeWithItemIndexTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceDataWithBlockSizeWithItemIndexVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemIndexes);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData : TheoryData<string, IEnumerable<long>, long, int, IEnumerable<(long, long)>>
{
public SourceDataWithBlockSizeWithItemIndexWithRangeTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceDataWithBlockSizeWithItemIndexWithRangeVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemsIndexesWithRange);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceDataWithItemIndexTheoryData : TheoryData<string, IEnumerable<long>, long, IEnumerable<long>>
{
public SourceDataWithItemIndexTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceDataWithItemIndexVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.ItemIndexes);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceRefDataTheoryData : TheoryData<string, IEnumerable<object>, long>
{
public SourceRefDataTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceRefDataVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceRefDataWithBlockSizeTheoryData : TheoryData<string, IEnumerable<object>, long, int>
{
public SourceRefDataWithBlockSizeTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithBlockSizeVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceRefDataWithBlockSizeWithItemIndexTheoryData : TheoryData<string, IEnumerable<object>, long, int, IEnumerable<long>>
{
public SourceRefDataWithBlockSizeWithItemIndexTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithBlockSizeWithItemIndexVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemIndexes);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData : TheoryData<string, IEnumerable<object>, long, int, IEnumerable<(long, long)>>
{
public SourceRefDataWithBlockSizeWithItemIndexWithRangeTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithBlockSizeWithItemIndexWithRangeVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.BlockSize, testCase.ItemsIndexesWithRange);
}
}
}
}
@@ -0,0 +1,15 @@
using Xunit;
namespace Recyclable.Collections.TestData.xUnit
{
public class SourceRefDataWithItemIndexTheoryData : TheoryData<string, IEnumerable<object>, long, IEnumerable<long>>
{
public SourceRefDataWithItemIndexTheoryData()
{
foreach (var testCase in RecyclableLongListTestData.SourceRefDataWithItemIndexVariants)
{
Add(testCase.TestCase, testCase.TestData, testCase.ItemsCount, testCase.ItemIndexes);
}
}
}
}