IndexOfParallelShouldNotFindAnythingWhenBeyondRange test reworked to use BigSourceDataWithOutOfRangeItemIndexesWithRangeTheoryData.
This commit is contained in:
1 parent
6788c7a18c
commit
97e60e381b
1 file changed
+7
-23
@@ -652,33 +652,17 @@ namespace Recyclable.CollectionsTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[ClassData(typeof(BlockSizeTheoryData))]
|
[ClassData(typeof(BigSourceDataWithOutOfRangeItemIndexesWithRangeTheoryData))]
|
||||||
public void IndexOfParallelShouldNotFindAnythingWhenBeyondRange(int blockSize)
|
public void IndexOfParallelShouldNotFindAnythingWhenBeyondRange(string testCase, IEnumerable<long> testData, long itemsCount, int blockSize, IEnumerable<(long itemIndex, long rangeStartItemIndex, long rangeItemsCount)> itemIndexesWithRanges)
|
||||||
{
|
{
|
||||||
const long ItemsCount = RecyclableDefaults.MinItemsCountForParallelization * 3;
|
|
||||||
|
|
||||||
// Prepare
|
// Prepare
|
||||||
var testData = RecyclableLongListTestData.CreateTestData(ItemsCount).ToArray();
|
using var list = new RecyclableLongList<long>(testData, minBlockSize: blockSize, initialCapacity: itemsCount);
|
||||||
using var list = new RecyclableLongList<long>(testData, minBlockSize: blockSize, initialCapacity: ItemsCount);
|
using var expectedData = testData.ToRecyclableLongList();
|
||||||
|
|
||||||
var itemIndexes = RecyclableLongListTestData.CreateItemIndexVariants(ItemsCount, blockSize);
|
foreach (var (itemIndex, rangeStartItemIndex, rangedItemsCount) in itemIndexesWithRanges)
|
||||||
foreach (var itemIndexForGenerator in itemIndexes)
|
|
||||||
{
|
{
|
||||||
var itemRanges = RecyclableLongListTestData.CombineItemIndexWithRange(itemIndexForGenerator, ItemsCount);
|
// Act & Validate
|
||||||
foreach (var (itemIndex, rangedItemsCount) in itemRanges)
|
_ = list.IndexOf(expectedData[itemIndex], (int)rangeStartItemIndex, (int)rangedItemsCount).Should().Be(-1);
|
||||||
{
|
|
||||||
// Try finding the item prior the given itemIndex
|
|
||||||
if (itemIndex > 0)
|
|
||||||
{
|
|
||||||
_ = list.IndexOf(testData[itemIndex - 1], (int)itemIndex, (int)rangedItemsCount).Should().Be(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try finding the item after the given item range
|
|
||||||
if (itemIndex + rangedItemsCount < ItemsCount)
|
|
||||||
{
|
|
||||||
_ = list.IndexOf(testData[itemIndex + rangedItemsCount], (int)itemIndex, (int)rangedItemsCount).Should().Be(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user