Add non-generic enumerable AddRange to priority queue

This commit is contained in:
Marek Lemańczyk committed 2025-09-16 13:52:36 +02:00
1 parent 33187c1053
commit 050d7fd386
2 files changed
+47

No files matched your search

@@ -371,6 +371,41 @@ namespace Recyclable.CollectionsTests
_ = result.Should().Equal(expected);
}
[Fact]
public void AddRangeEnumerableShouldAddItemsInSortedOrder()
{
using var queue = new RecyclablePriorityQueue<int>();
_ = queue.AddRange((System.Collections.IEnumerable)_testData);
var result = new List<int>();
while (queue.LongCount > 0)
{
result.Add(queue.Dequeue());
}
var expected = _testData.OrderBy(v => v).ToList();
_ = result.Should().Equal(expected);
}
[Fact]
public void AddRangeEnumerableShouldNotOverrideItems()
{
using var queue = new RecyclablePriorityQueue<int>();
_ = queue.AddRange((System.Collections.IEnumerable)_testData);
_ = queue.AddRange((System.Collections.IEnumerable)_testData);
var result = new List<int>();
while (queue.LongCount > 0)
{
result.Add(queue.Dequeue());
}
var expected = _testData.Concat(_testData).OrderBy(v => v).ToList();
_ = result.Should().Equal(expected);
}
}
}