Versioned enumerator for RecyclableList implemented. Benchmarks & tests added.

This commit is contained in:
mlemanczyk committed 2023-06-25 00:05:17 +02:00
1 parent be746d65bf
commit d830a53006
7 files changed
+177 -205

No files matched your search

@@ -336,7 +336,6 @@ namespace Recyclable.CollectionsTests
list.CopyTo(copiedItems, 0);
// Validate
_ = copiedItems.Length.Should().Be((int)itemsCount);
_ = copiedItems.Should().ContainInConsecutiveOrder(testData);
}
@@ -551,5 +550,23 @@ namespace Recyclable.CollectionsTests
_ = list.Should().ContainInConsecutiveOrder(testData.Take((int)(itemsCount - deleted)));
}
}
[Theory]
[MemberData(nameof(RecyclableLongListTestData.SourceDataVariants), MemberType = typeof(RecyclableLongListTestData))]
public void VersionedEnumerateShouldYieldAllItemsInCorrectOrder(string testCase, IEnumerable<long> testData, long itemsCount)
{
// Prepare
using var list = new RecyclableList<long>(testData);
// Act
var yieldedItems = new List<long>((int)itemsCount);
foreach (var item in (IVersionedList<long>)list)
{
yieldedItems.Add(item);
}
// Validate
_ = yieldedItems.Should().ContainInConsecutiveOrder(testData);
}
}
}