Add memory-based AddRange overloads

This commit is contained in:
Marek Lemańczyk committed 2025-09-16 14:20:11 +02:00
1 parent f6640deaf1
commit b0e7f96496
2 files changed
+126

No files matched your search

@@ -124,6 +124,38 @@ namespace Recyclable.CollectionsTests
_ = result.Should().Equal(_testData.Order());
}
[Fact]
public void AddRangeReadOnlyMemoryShouldAddItemsInSortedOrder()
{
using var queue = new RecyclablePriorityQueue<int>();
queue.AddRange((ReadOnlyMemory<int>)_testData);
var result = new List<int>();
while (queue.LongCount > 0)
{
result.Add(queue.Dequeue());
}
_ = result.Should().Equal(_testData.Order());
}
[Fact]
public void AddRangeMemoryShouldNotOverrideItems()
{
using var queue = new RecyclablePriorityQueue<int>();
queue.AddRange(_testData.AsMemory());
queue.AddRange(_testData.AsMemory());
var expected = _testData.Concat(_testData).Order().ToArray();
var result = new List<int>();
while (queue.LongCount > 0)
{
result.Add(queue.Dequeue());
}
_ = result.Should().Equal(expected);
}
[Fact]
public void AddRangeArrayShouldNotOverrideItems()
{