RecyclableLongList.Compatibility.List.FindAll() implemented.
This commit is contained in:
1 parent
02153bea2a
commit
3e66504e09
2 files changed
+126
-52
No files matched your search
+23
-24
@@ -391,30 +391,6 @@ namespace Recyclable.CollectionsTests
|
||||
}
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(RecyclableLongListTestData.ItemsCountTestCases), MemberType = typeof(RecyclableLongListTestData))]
|
||||
public void FindAllShouldReturnCorrectIndexes(int itemsCount)
|
||||
{
|
||||
const int ExpectedItem = 1;
|
||||
|
||||
// Prepare
|
||||
var testData = Enumerable.Range(0, itemsCount).Select(value => value % 2 == 0 ? ExpectedItem : -ExpectedItem);
|
||||
using var list = new RecyclableLongList<int>(testData, initialCapacity: itemsCount);
|
||||
|
||||
// Act
|
||||
using var actual = list.FindAll(x => x == ExpectedItem);
|
||||
|
||||
// Validate
|
||||
var expectedData = testData.ToList().FindAll(x => x == ExpectedItem);
|
||||
|
||||
_ = actual.Count.Should().Be(expectedData.Count);
|
||||
_ = actual.Should().Equal(expectedData);
|
||||
if (expectedData.Count > 0)
|
||||
{
|
||||
_ = actual.Should().AllSatisfy(x => x.Should().Be(ExpectedItem)).And.Equal(expectedData);
|
||||
}
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(RecyclableLongListTestData.ItemsCountTestCases), MemberType = typeof(RecyclableLongListTestData))]
|
||||
public void FindAllShouldNotFindNonExistingItems(int itemsCount)
|
||||
@@ -435,6 +411,29 @@ namespace Recyclable.CollectionsTests
|
||||
_ = foundItems.Should().Equal(expectedData);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(RecyclableLongListTestData.ItemsCountTestCases), MemberType = typeof(RecyclableLongListTestData))]
|
||||
public void FindAllShouldReturnCorrectIndexes(int itemsCount)
|
||||
{
|
||||
const int ExpectedItem = 1;
|
||||
|
||||
// Prepare
|
||||
var testData = Enumerable.Range(0, itemsCount).Select(value => value % 2 == 0 ? ExpectedItem : -ExpectedItem);
|
||||
using var list = new RecyclableLongList<int>(testData, initialCapacity: itemsCount);
|
||||
var expectedData = testData.ToList().FindAll(x => x == ExpectedItem);
|
||||
|
||||
// Act
|
||||
using var actual = list.FindAll(x => x == ExpectedItem);
|
||||
|
||||
// Validate
|
||||
_ = actual.Count.Should().Be(expectedData.Count);
|
||||
_ = actual.Should().Equal(expectedData);
|
||||
if (expectedData.Count > 0)
|
||||
{
|
||||
_ = actual.Should().AllSatisfy(x => x.Should().Be(ExpectedItem)).And.Equal(expectedData);
|
||||
}
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(RecyclableLongListTestData.SourceDataWithItemIndexVariants), MemberType = typeof(RecyclableLongListTestData))]
|
||||
public void FindIndexShouldReturnCorrectIndexes(string testCase, IEnumerable<long> testData, int itemsCount, in long[] itemIndexes)
|
||||
|
||||
Reference in new issue
Block a user