commit!
This commit is contained in:
parent
9c930a6cab
commit
0b41113d67
@ -157,6 +157,11 @@ namespace ObservableCollections
|
||||
|
||||
public RingBufferSpan<T> GetSpan()
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
return new RingBufferSpan<T>(Array.Empty<T>(), Array.Empty<T>(), 0);
|
||||
}
|
||||
|
||||
var start = head & mask;
|
||||
var end = (head + count) & mask;
|
||||
|
||||
@ -206,6 +211,8 @@ namespace ObservableCollections
|
||||
|
||||
public IEnumerable<T> Reverse()
|
||||
{
|
||||
if (count == 0) yield break;
|
||||
|
||||
var start = head & mask;
|
||||
var end = (head + count) & mask;
|
||||
|
||||
|
@ -157,6 +157,11 @@ namespace ObservableCollections
|
||||
|
||||
public RingBufferSpan<T> GetSpan()
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
return new RingBufferSpan<T>(Array.Empty<T>(), Array.Empty<T>(), 0);
|
||||
}
|
||||
|
||||
var start = head & mask;
|
||||
var end = (head + count) & mask;
|
||||
|
||||
@ -206,6 +211,8 @@ namespace ObservableCollections
|
||||
|
||||
public IEnumerable<T> Reverse()
|
||||
{
|
||||
if (count == 0) yield break;
|
||||
|
||||
var start = head & mask;
|
||||
var end = (head + count) & mask;
|
||||
|
||||
|
@ -126,6 +126,46 @@ namespace ObservableCollections.Tests
|
||||
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Iteration()
|
||||
{
|
||||
var empty = new RingBuffer<int>();
|
||||
empty.ToArray().Should().BeEmpty();
|
||||
|
||||
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
var buffer = new RingBuffer<int>();
|
||||
for (int j = 0; j < i; j++)
|
||||
{
|
||||
buffer.AddLast(j);
|
||||
}
|
||||
buffer.ToArray().Should().Equal(Enumerable.Range(0, i).ToArray());
|
||||
}
|
||||
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
var buffer = new RingBuffer<int>();
|
||||
for (int j = 0; j < i; j++)
|
||||
{
|
||||
buffer.AddFirst(j);
|
||||
}
|
||||
buffer.ToArray().Should().Equal(Enumerable.Range(0, i).Reverse().ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RandomIteration()
|
||||
{
|
||||
var buffer = new RingBuffer<int>();
|
||||
buffer.AddFirst(10);
|
||||
buffer.AddLast(20);
|
||||
buffer.AddLast(30);
|
||||
buffer.AddFirst(40);
|
||||
|
||||
buffer.ToArray().Should().Equal(40, 10, 20, 30);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BinarySearchTest()
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user