public void CanEnqueue() { var q1 = new CappedQueue <int>(1); q1.Enqueue(1); Assert.Equal(1, q1.Count); Assert.Equal(1, q1.GetElement(0)); q1.Enqueue(2); Assert.Equal(1, q1.Count); Assert.Equal(2, q1.GetElement(0)); var q2 = new CappedQueue <int>(2); q2.Enqueue(1); q2.Enqueue(2); q2.Enqueue(3); Assert.Equal(2, q2.Count); Assert.Equal(2, q2.GetElement(0)); Assert.Equal(3, q2.GetElement(1)); }
public void CanSetCapacity() { var q = new CappedQueue <int>(1); q.Capacity = 2; // enlarge empty queue Assert.Equal(0, q.Count); Assert.Equal(2, q.Capacity); q.Enqueue(1); q.Enqueue(2); q.Enqueue(3); Assert.Equal(2, q.GetElement(0)); Assert.Equal(3, q.GetElement(1)); q.Capacity = 3; // enlarge Assert.Equal(3, q.Capacity); Assert.Equal(2, q.Count); Assert.Equal(2, q.GetElement(0)); Assert.Equal(3, q.GetElement(1)); q.Enqueue(4); Assert.Equal(3, q.Count); Assert.Equal(2, q.GetElement(0)); Assert.Equal(3, q.GetElement(1)); Assert.Equal(4, q.GetElement(2)); q.Capacity = 2; // shrink Assert.Equal(2, q.Capacity); Assert.Equal(2, q.Count); Assert.Equal(3, q.GetElement(0)); Assert.Equal(4, q.GetElement(1)); }