コード例 #1
0
ファイル: CappedQueueTest.cs プロジェクト: ujr/csutils
        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));
        }
コード例 #2
0
ファイル: CappedQueueTest.cs プロジェクト: ujr/csutils
        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));
        }