public void CanPopOffItem() { var stack = new MyGenericStack <string>(); stack.Push("foo"); Assert.AreEqual("foo", stack.Pop()); }
public void ShouldReturnItem() { var stack = new MyGenericStack <string>(); stack.Push("foo"); Assert.Equal("foo", stack.Pop()); }
public void ShouldReturnNull() { var stack = new MyGenericStack <string>(); stack.Push(null); Assert.Equal(default, stack.Pop());
public void CanPopOffMultipleItems() { var stack = new MyGenericStack <string>() .Push("foo") .Push("bar"); Assert.AreEqual("bar", stack.Pop()); Assert.AreEqual("foo", stack.Pop()); }
public void ShouldReturnMultipleItemsLastInFirstOut() { var stack = new MyGenericStack <string>(); stack.Push("foo").Push("Hello"); Assert.Equal("Hello", stack.Pop()); Assert.Equal("foo", stack.Pop()); }
public static bool CheckParenthesis(string s) { List <Tuple <char, char> > validCombinaisons = new List <Tuple <char, char> >() { new Tuple <char, char>('(', ')'), new Tuple <char, char>('{', '}'), new Tuple <char, char>('[', ']') }; List <char> openingParenthesis = new List <char>() { '(', '{', '[' }; var stack = new MyGenericStack <char>(); foreach (var c in s) { if (openingParenthesis.Contains(c)) { stack.Push(c); } else { if (stack.IsEmpty()) { return(false); } else { var popItem = stack.Pop(); if (!validCombinaisons.Contains(new Tuple <char, char>(popItem, c))) { return(false); } } } } return(true); }
public void CanPopFromEmptyStack() { var stack = new MyGenericStack <string>(); Assert.AreEqual(null, stack.Pop()); }