using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Falcon.SugarApi.Test { /// /// 任务防抖测试 /// [TestClass()] public class ThreadSafeFixedSizeQueueTest { /// /// 出入数据测试 /// [TestMethod()] public void TestInOut() { var queue = new ThreadSafeFixedSizeQueue(3); var i = queue.Dequeue(); Assert.IsTrue(i == 0); queue.Enqueue(1); Assert.IsTrue(queue.Count == 1); i = queue.Dequeue(); Assert.IsTrue(i == 1); queue.Enqueue(1); queue.Enqueue(2); queue.Enqueue(3); queue.Enqueue(4); queue.Enqueue(5); Assert.IsTrue(queue.Count == 3); i = queue.Dequeue(); Assert.IsTrue(i == 3); i = queue.Dequeue(); Assert.IsTrue(i == 4); i = queue.Dequeue(); Assert.IsTrue(i == 5); Assert.IsTrue(queue.Count == 0); queue.Enqueue(1); queue.Enqueue(2); queue.Enqueue(3); queue.Clear(); Assert.IsTrue(queue.Count == 0); i = queue.Dequeue(); Assert.IsTrue(i == 0); queue.Enqueue(1); queue.Enqueue(2); queue.Enqueue(3); int id = 1; while(queue.TryDequeue(out i)) { Assert.IsTrue(i == id++); } Assert.IsTrue(queue.Count == 0); } } }