public void TestNative() { const int count = 100; var data = new int[count]; var rand = new Random((int)DateTime.Now.Ticks); for (var i = count - 1; i >= 0; i--) { data[i] = rand.Next(); } using var q = new NativePriorityQueue <int>(0, count); for (int i = 0; i < count; i++) { q.Enqueue(data[i]); Assert.True(q.Count == i + 1); } Array.Sort(data); var t = 0; while (!q.IsEmpty) { Assert.True(q.Peek() == data[t++]); q.Dequeue(); } }
public void NativePriorityQueue() { foreach (var vec4 in _data) { _native.Enqueue(vec4, _cmp); } while (!_native.IsEmpty) { _native.Dequeue(_cmp); } }
public void TestPriorityQueue() { using (var pq = new NativePriorityQueue <int>(Allocator.Temp)) { pq.Enqueue(2); pq.Enqueue(3); pq.Enqueue(1); pq.Enqueue(666); pq.Enqueue(23); pq.Enqueue(233); Assert.True(pq.Dequeue() == 1); Assert.True(pq.Dequeue() == 2); Assert.True(pq.Dequeue() == 3); Assert.True(pq.Dequeue() == 23); Assert.True(pq.Dequeue() == 233); Assert.True(pq.Dequeue() == 666); } }