Пример #1
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);
            }
        }