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); }
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()); }
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()); }