Support for custom boundaries implemented. v1 - will be reverted due to 5x slower performance.

This commit is contained in:
mlemanczyk committed 2023-09-17 13:12:16 +02:00
1 parent 1ded5de37a
commit 22d8593e1f
12 files changed
+192 -92

No files matched your search

@@ -338,13 +338,13 @@ namespace Recyclable.CollectionsTests
// Arrange
using var list = new RecyclableList<object>(testData, itemsCount);
_ = list.AsArray[..itemsCount].Should().AllSatisfy(x => x.Should().NotBeNull());
_ = ((object[])list.AsArray)[..itemsCount].Should().AllSatisfy(x => x.Should().NotBeNull());
// Act
list.Clear();
// Assert
_ = list.AsArray[..itemsCount].Should().AllSatisfy(x => x.Should().BeNull());
_ = ((object[])list.AsArray)[..itemsCount].Should().AllSatisfy(x => x.Should().BeNull());
}
[Theory]
@@ -393,6 +393,12 @@ namespace Recyclable.CollectionsTests
_ = list.Should().Equal(testData);
}
[Fact]
public void ConstructorShouldCreateArrayWithCustomBoundaries()
{
using var list = new RecyclableList<long>(-10);
}
[Theory]
[MemberData(nameof(RecyclableLongListTestData.SourceDataVariants), MemberType = typeof(RecyclableLongListTestData))]
public void ConstructorSourceShouldInitializeList(string testCase, IEnumerable<long> testData, int itemsCount)
@@ -475,14 +481,14 @@ namespace Recyclable.CollectionsTests
// Arrange
using var list = new RecyclableList<object>(testData, itemsCount);
var listArray = list.AsArray;
_ = list.AsArray[..itemsCount].Should().NotBeNull();
_ = listArray[..itemsCount].Should().AllSatisfy(x => x.Should().NotBeNull());
_ = ((object[])list.AsArray)[..itemsCount].Should().NotBeNull();
_ = ((object[])listArray)[..itemsCount].Should().AllSatisfy(x => x.Should().NotBeNull());
// Act
list.Dispose();
// Assert
_ = listArray[..itemsCount].Should().AllSatisfy(x => x.Should().BeNull());
_ = ((object[])listArray)[..itemsCount].Should().AllSatisfy(x => x.Should().BeNull());
}
[Fact]