.IndexOf variants moved to Recyclable.Collections package.
This commit is contained in:
1 parent
b3c8e49600
commit
de3b48830c
4 files changed
+5
-106
No files matched your search
-40
@@ -661,46 +661,6 @@ namespace Recyclable.CollectionsTests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Theory]
|
|
||||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
|
||||||
public void IndexOfShouldReturnCorrectIndexesWhenConstrainedCount(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
|
||||||
{
|
|
||||||
// Prepare
|
|
||||||
using var list = new RecyclableList<long>(testData, itemsCount);
|
|
||||||
var expectedData = testData.ToList();
|
|
||||||
|
|
||||||
foreach (var itemIndex in itemIndexes)
|
|
||||||
{
|
|
||||||
var expected = expectedData.IndexOf(expectedData[(int)itemIndex], (int)itemIndex, (int)(itemsCount - itemIndex));
|
|
||||||
|
|
||||||
// Act
|
|
||||||
var actual = list.IndexOf(expectedData[(int)itemIndex], (int)itemIndex, (int)(itemsCount - itemIndex));
|
|
||||||
|
|
||||||
// Validate
|
|
||||||
_ = actual.Should().Be((int)itemIndex).And.Be(expected);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Theory]
|
|
||||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
|
||||||
public void IndexOfShouldReturnCorrectIndexesWhenConstrainedIndex(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
|
||||||
{
|
|
||||||
// Prepare
|
|
||||||
using var list = new RecyclableList<long>(testData, itemsCount);
|
|
||||||
var expectedData = testData.ToList();
|
|
||||||
|
|
||||||
foreach (var itemIndex in itemIndexes)
|
|
||||||
{
|
|
||||||
var expected = expectedData.IndexOf(expectedData[(int)itemIndex], (int)itemIndex);
|
|
||||||
|
|
||||||
// Act
|
|
||||||
var actual = list.IndexOf(expectedData[(int)itemIndex], (int)itemIndex);
|
|
||||||
|
|
||||||
// Validate
|
|
||||||
_ = actual.Should().Be((int)itemIndex).And.Be(expected);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
||||||
public void InsertRangeShouldAddItemsInTheRightPosition(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
public void InsertRangeShouldAddItemsInTheRightPosition(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
||||||
|
|||||||
+5
-46
@@ -734,8 +734,8 @@ namespace Recyclable.CollectionsTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithBlockSizeWithItemIndexWithRangeVariants), MemberType = typeof(RecyclableLongListTestData))]
|
||||||
public void GetRangeShouldReturnCorrectItems(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
public void GetRangeShouldReturnCorrectItems(string testCase, IEnumerable<long> testData, int itemsCount, int minBlockSize, in (long ItemIndex, long RangedItemsCount)[] itemRanges)
|
||||||
{
|
{
|
||||||
_ = testData.Any().Should().BeTrue("we need items on the list that we can look for");
|
_ = testData.Any().Should().BeTrue("we need items on the list that we can look for");
|
||||||
|
|
||||||
@@ -743,13 +743,12 @@ namespace Recyclable.CollectionsTests
|
|||||||
using var list = new RecyclableLongList<long>(testData, initialCapacity: itemsCount);
|
using var list = new RecyclableLongList<long>(testData, initialCapacity: itemsCount);
|
||||||
var expectedData = testData.ToList();
|
var expectedData = testData.ToList();
|
||||||
|
|
||||||
foreach (var itemIndex in itemIndexes)
|
foreach (var (itemIndex, rangedItemsCount) in itemRanges)
|
||||||
{
|
{
|
||||||
int startingIndex = (int)Math.Min(1, itemIndex);
|
var expectedRangeItems = expectedData.GetRange((int)itemIndex, (int)rangedItemsCount);
|
||||||
var expectedRangeItems = expectedData.GetRange(startingIndex, (int)itemIndex);
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
using var rangeItems = list.GetRange(startingIndex, (int)itemIndex);
|
using var rangeItems = list.GetRange((int)itemIndex, (int)rangedItemsCount);
|
||||||
|
|
||||||
// Validate
|
// Validate
|
||||||
_ = rangeItems.Count.Should().Be(expectedRangeItems.Count);
|
_ = rangeItems.Count.Should().Be(expectedRangeItems.Count);
|
||||||
@@ -757,46 +756,6 @@ namespace Recyclable.CollectionsTests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Theory]
|
|
||||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
|
||||||
public void IndexOfShouldReturnCorrectIndexesWhenConstrainedCount(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
|
||||||
{
|
|
||||||
// Prepare
|
|
||||||
using var list = new RecyclableLongList<long>(testData, initialCapacity: itemsCount);
|
|
||||||
var expectedData = testData.ToList();
|
|
||||||
|
|
||||||
foreach (var itemIndex in itemIndexes)
|
|
||||||
{
|
|
||||||
var expected = expectedData.IndexOf(expectedData[(int)itemIndex], (int)itemIndex, (int)(itemsCount - itemIndex));
|
|
||||||
|
|
||||||
// Act
|
|
||||||
var actual = list.IndexOf(expectedData[(int)itemIndex], (int)itemIndex, (int)(itemsCount - itemIndex));
|
|
||||||
|
|
||||||
// Validate
|
|
||||||
_ = actual.Should().Be((int)itemIndex).And.Be(expected);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Theory]
|
|
||||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
|
||||||
public void IndexOfShouldReturnCorrectIndexesWhenConstrainedIndex(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
|
||||||
{
|
|
||||||
// Prepare
|
|
||||||
using var list = new RecyclableLongList<long>(testData, initialCapacity: itemsCount);
|
|
||||||
var expectedData = testData.ToList();
|
|
||||||
|
|
||||||
foreach (var itemIndex in itemIndexes)
|
|
||||||
{
|
|
||||||
var expected = expectedData.IndexOf(expectedData[(int)itemIndex], (int)itemIndex);
|
|
||||||
|
|
||||||
// Act
|
|
||||||
var actual = list.IndexOf(expectedData[(int)itemIndex], (int)itemIndex);
|
|
||||||
|
|
||||||
// Validate
|
|
||||||
_ = actual.Should().Be((int)itemIndex).And.Be(expected);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
||||||
public void InsertRangeShouldAddItemsInTheRightPosition(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
public void InsertRangeShouldAddItemsInTheRightPosition(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
||||||
|
|||||||
@@ -6,14 +6,6 @@ namespace Recyclable.Collections
|
|||||||
public static class zzzRecyclableListCompatibilityListIndexOf
|
public static class zzzRecyclableListCompatibilityListIndexOf
|
||||||
#pragma warning restore IDE1006 // Naming Styles
|
#pragma warning restore IDE1006 // Naming Styles
|
||||||
{
|
{
|
||||||
public static int IndexOf<T>(this RecyclableList<T> list, T item, int index) => list._count != 0
|
|
||||||
? Array.IndexOf(list._memoryBlock, item, index, list._count - index)
|
|
||||||
: RecyclableDefaults.ItemNotFoundIndex;
|
|
||||||
|
|
||||||
public static int IndexOf<T>(this RecyclableList<T> list, T item, int index, int count) => list._count != 0
|
|
||||||
? Array.IndexOf(list._memoryBlock, item, index, count)
|
|
||||||
: RecyclableDefaults.ItemNotFoundIndex;
|
|
||||||
|
|
||||||
public static int LastIndexOf<T>(this RecyclableList<T> list, T item) => list._count != 0
|
public static int LastIndexOf<T>(this RecyclableList<T> list, T item) => list._count != 0
|
||||||
? Array.LastIndexOf(list._memoryBlock, item, list._count - 1)
|
? Array.LastIndexOf(list._memoryBlock, item, list._count - 1)
|
||||||
: RecyclableDefaults.ItemNotFoundIndex;
|
: RecyclableDefaults.ItemNotFoundIndex;
|
||||||
|
|||||||
-12
@@ -6,18 +6,6 @@ namespace Recyclable.Collections
|
|||||||
public static class zzzRecyclableLongListCompatibilityListIndexOf
|
public static class zzzRecyclableLongListCompatibilityListIndexOf
|
||||||
#pragma warning restore IDE1006 // Naming Styles
|
#pragma warning restore IDE1006 // Naming Styles
|
||||||
{
|
{
|
||||||
public static int IndexOf<T>(this RecyclableLongList<T> list, T item, int index)
|
|
||||||
//=> list._count != 0
|
|
||||||
// ? Array.IndexOf(list._memoryBlock, item, index, list._count - index)
|
|
||||||
// : RecyclableDefaults.ItemNotFoundIndex;
|
|
||||||
=> throw new NotImplementedException();
|
|
||||||
|
|
||||||
public static int IndexOf<T>(this RecyclableLongList<T> list, T item, int index, int count)
|
|
||||||
//=> list._count != 0
|
|
||||||
// ? Array.IndexOf(list._memoryBlock, item, index, count)
|
|
||||||
// : RecyclableDefaults.ItemNotFoundIndex;
|
|
||||||
=> throw new NotImplementedException();
|
|
||||||
|
|
||||||
public static int LastIndexOf<T>(this RecyclableLongList<T> list, T item)
|
public static int LastIndexOf<T>(this RecyclableLongList<T> list, T item)
|
||||||
//=> list._count != 0
|
//=> list._count != 0
|
||||||
// ? Array.LastIndexOf(list._memoryBlock, item, list._count - 1)
|
// ? Array.LastIndexOf(list._memoryBlock, item, list._count - 1)
|
||||||
|
|||||||
Reference in new issue
Block a user