Beispiel #1
0
        public void Should_get_array_of_all_items_when_Stack_is_at_Capacity()
        {
            //arrange
            var items = new[] { 1, 2, 3, 4, 5 };
            var stack = new ConcurrentFixedSizeStack <int>(5);

            //act
            Assert.AreEqual(0, stack.Count);
            Assert.AreEqual(items.Length, stack.Capacity);

            foreach (var item in items)
            {
                stack.Push(item);
                Assert.AreEqual(item, stack.Peek());
            }

            var array = stack.ToArray();

            //assert
            Assert.AreEqual(stack.Capacity, stack.Count, "Stack should STILL be full to capacity");
            Assert.AreEqual(array.Length, stack.Count, "Resultant array and original Stack should be of same size");

            var arrCount = items.Length - 1;

            foreach (var i in array)
            {
                Assert.AreEqual(items[arrCount], i);
                arrCount--;
            }
        }
        public void Should_add_items_to_Stack_is_over_Capacity()
        {
            //arrange
            var items = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            var stack = new ConcurrentFixedSizeStack <int>(5);

            //act
            Assert.Empty(stack);

            foreach (var item in items)
            {
                stack.Push(item);
                Assert.Equal(item, stack.Peek());
            }

            //assert
            Assert.Equal(stack.Capacity, stack.Count); //  "Stack should be full to capacity"

            var length = items.Length - 1;

            for (var i = 0; i < stack.Capacity; i++, length--)
            {
                var stackItem = stack.Pop();
                Assert.Equal(items[length], stackItem);
            }

            Assert.True(length == items.Length / 2 - 1);
        }
Beispiel #3
0
        public void Should_add_items_to_Stack_up_to_Capacity()
        {
            //arrange
            var items = new[] { 1, 2, 3, 4, 5 };
            var stack = new ConcurrentFixedSizeStack <int>(5);

            //act
            Assert.AreEqual(0, stack.Count);
            Assert.AreEqual(items.Length, stack.Capacity);

            foreach (var item in items)
            {
                stack.Push(item);
                Assert.AreEqual(item, stack.Peek());
            }

            //assert
            Assert.AreEqual(stack.Capacity, stack.Count, "Stack should be full to capacity");

            var length = stack.Capacity - 1;

            for (var i = 0; i < stack.Capacity; i++, length--)
            {
                var stackItem = stack.Pop();
                Assert.AreEqual(items[length], stackItem);
            }
        }
        public void Should_add_items_to_Stack_up_to_Capacity()
        {
            //arrange
            var items = new[] {1, 2, 3, 4, 5};
            var stack = new ConcurrentFixedSizeStack<int>(5);

            //act
            Assert.Equal(0, stack.Count);
            Assert.Equal(items.Length, stack.Capacity);

            foreach (var item in items)
            {
                stack.Push(item);
                Assert.Equal(item, stack.Peek());
            }

            //assert
            Assert.Equal(stack.Capacity, stack.Count);

            var length = stack.Capacity - 1;
            for (var i = 0; i < stack.Capacity; i++, length--)
            {
                var stackItem = stack.Pop();
                Assert.Equal(items[length], stackItem);
            }
        }
        public void Should_get_array_of_all_items_when_Stack_is_at_Capacity()
        {
            //arrange
            var items = new[] { 1, 2, 3, 4, 5 };
            var stack = new ConcurrentFixedSizeStack<int>(5);

            //act
            Assert.AreEqual(0, stack.Count);
            Assert.AreEqual(items.Length, stack.Capacity);

            foreach (var item in items)
            {
                stack.Push(item);
                Assert.AreEqual(item, stack.Peek());
            }

            var array = stack.ToArray();

            //assert
            Assert.AreEqual(stack.Capacity, stack.Count, "Stack should STILL be full to capacity");
            Assert.AreEqual(array.Length, stack.Count, "Resultant array and original Stack should be of same size");

            var arrCount = items.Length - 1;
            foreach (var i in array)
            {
                Assert.AreEqual(items[arrCount], i);
                arrCount--;
            }
        }
Beispiel #6
0
        public void Should_get_default_value_on_Stack_Peek_or_Pop_when_Empty()
        {
            //arrange
            var stack = new ConcurrentFixedSizeStack <int>(5);

            //act

            //assert
            Assert.AreEqual(default(int), stack.Pop());
            Assert.AreEqual(default(int), stack.Peek());
        }
        public void Should_get_default_value_on_Stack_Peek_or_Pop_when_Empty()
        {
            //arrange
            var stack = new ConcurrentFixedSizeStack<int>(5);

            //act

            //assert
            Assert.Equal(default(int), stack.Pop());
            Assert.Equal(default(int), stack.Peek());
        }
Beispiel #8
0
        public void Should_get_array_with_no_items_on_ToArray_when_Empty()
        {
            //arrange
            var stack = new ConcurrentFixedSizeStack <int>(5);

            //act
            var array = stack.ToArray();

            //assert
            Assert.IsNotNull(array);
            Assert.AreEqual(0, array.Length);
        }
        public void Should_get_array_with_no_items_on_ToArray_when_Empty()
        {
            //arrange
            var stack = new ConcurrentFixedSizeStack<int>(5);

            //act
            var array = stack.ToArray();

            //assert
            Assert.NotNull(array);
            Assert.Equal(0, array.Length);
        }
        public void Should_add_items_to_Stack_is_over_Capacity()
        {
            //arrange
            var items = new[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            var stack = new ConcurrentFixedSizeStack<int>(5);

            //act
            Assert.Equal(0, stack.Count);

            foreach (var item in items)
            {
                stack.Push(item);
                Assert.Equal(item, stack.Peek());
            }

            //assert
            Assert.Equal(stack.Capacity, stack.Count); //  "Stack should be full to capacity"

            var length = items.Length - 1;
            for (var i = 0; i < stack.Capacity; i++, length--)
            {
                var stackItem = stack.Pop();
                Assert.Equal(items[length], stackItem);
            }
            Assert.True(length == items.Length/2 - 1);
        }