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