Пример #1
0
        public void Remove_ThrowsArgumentException_OnInvalidElement()
        {
            var stack = new HashStack <int>();

            stack.Push(5);
            stack.Push(124);
            Action action = () => stack.Remove(1);

            action.Should().Throw <ArgumentException>();
        }
Пример #2
0
        public void Remove_DeletesElementsCorrectly(int amountOfDeletions, params int[] elements)
        {
            var random = new Random();
            var stack  = new HashStack <int>();

            foreach (var t in elements)
            {
                stack.Push(t);
            }
            var reversedElements = elements.Reverse().ToList();

            for (var i = 0; i < amountOfDeletions; i++)
            {
                var randomValue = reversedElements[random.Next(reversedElements.Count)];
                reversedElements.Remove(randomValue);
                stack.Remove(randomValue);
                var stackAsList = stack.ToList();
                stackAsList.Should().BeEquivalentTo(reversedElements);
            }
        }