Пример #1
0
        public void TestPushRangeOfTwoElements()
        {
            var bag = new ConcurrentStackedBagSlim <int>();
            var arr = new[] { 10, 11 };

            bag.PushRange(arr);
            Assert.AreEqual(11, bag.Take());
            Assert.AreEqual(10, bag.Take());
            Assert.IsTrue(bag.IsEmpty);
        }
Пример #2
0
        public void TestAddThreeCheckEmptyAndTryTakeShouldErrorOut()
        {
            var bag = new ConcurrentStackedBagSlim <int>();

            bag.Add(10);
            bag.Add(9);
            bag.Add(8);
            Assert.AreEqual(8, bag.Take());
            Assert.AreEqual(9, bag.Take());
            Assert.AreEqual(10, bag.Take());
            Assert.IsTrue(bag.IsEmpty);
            Assert.ThrowsException <InvalidOperationException>(() => bag.Take());
        }
Пример #3
0
        public void TestBasic()
        {
            var bag = new ConcurrentStackedBagSlim <int>();

            bag.Add(10);
            Assert.IsTrue(bag.TryPeek(out var n));
            Assert.AreEqual(10, n);
            Assert.AreEqual(10, bag.Take());
        }