def test_stack(self): myStack = stack.Stack() # create a stack with default stack size 10 myStack.push(2) myStack.push(10) myStack.push(12) myStack.push(3) self.assertEqual(myStack.pop(), 3) self.assertEqual(myStack.peek(), 12) self.assertFalse(myStack.is_empty()) nullStack = stack.Stack() self.assertEqual(nullStack.pop(), -1) self.assertEqual(nullStack.peek(), -1) self.assertTrue(nullStack.is_empty())
def test_infix_to_postfix(self): myExp = 'a+b*(c^d-e)^(f+g*h)-i' myExp = [i for i in myExp] myStack = stack.Stack(len(myExp)) # create a stack result = stack.InfixToPostfix(myExp, myStack) resultString = result.infix_to_postfix() expectedResult = 'a b c d ^ e - f g h * + ^ * + i -' self.assertTrue(resultString, expectedResult)
# stack data structure algorithm using Python from pygorithm.data_structures import stack # create stack s = stack.Stack() # get the code for stack algorithm implementation code = s.get_code() # print the code print(code)