コード例 #1
0
ファイル: MemoryQueueTests.cs プロジェクト: zanpy/X
        public async void Test1()
        {
            var q = new MemoryQueue <String>();

            Assert.True(q.IsEmpty);
            Assert.Equal(0, q.Count);

            q.Add("test");
            q.Add("newlife", "stone");

            Assert.False(q.IsEmpty);
            Assert.Equal(3, q.Count);

            var s1 = q.TakeOne();

            Assert.Equal("test", s1);

            var ss = q.Take(3).ToArray();

            Assert.Equal(2, ss.Length);

            ThreadPoolX.QueueUserWorkItem(() =>
            {
                Thread.Sleep(1100);
                q.Add("delay");
            });

            var s2 = await q.TakeOneAsync(1500);

            Assert.Equal("delay", s2);
        }