def test_tokenize_addition(self):
     '''Tokenizes a rpn expression'''
     self.assert_tokenize('4 2 +', [4, 2, make_operator('+')])
 def test_make_operator_add(self):
     '''Addition operator should add'''
     stack = [4, 2]
     operator = make_operator('+')
     operator(stack)
     self.assertEqual(stack.pop(), 6)
 def test_tokenize_with_operator(self):
     '''Tokenizes operators correctly'''
     self.assert_tokenize('+', [make_operator('+')])
Esempio n. 4
0
 def test_tokenize_division(self):
     '''Tokenizes a rpn division'''
     self.assert_tokenize('4 2 /', [4, 2, make_operator('/')])
Esempio n. 5
0
 def test_tokenize_multiplication(self):
     '''Tokenizes a rpn subtraction'''
     self.assert_tokenize('4 2 *', [4, 2, make_operator('*')])
Esempio n. 6
0
 def test_make_operator_multiply(self):
     '''Multiplication operator should multiply'''
     stack = [4, 2]
     operator = make_operator('*')
     operator(stack)
     self.assertEqual(stack.pop(), 8)
Esempio n. 7
0
 def test_tokenize_subtraction(self):
     '''Tokenizes a rpn subtraction'''
     self.assert_tokenize('4 2 -', [4, 2, make_operator('-')])
Esempio n. 8
0
 def test_make_operator_subtract(self):
     '''Division operator should divide'''
     stack = [4, 2]
     operator = make_operator('/')
     operator(stack)
     self.assertEqual(stack.pop(), 2)
Esempio n. 9
0
 def test_make_operator_subtract(self):
     '''Subtraction operator should add'''
     stack = [4, 2]
     operator = make_operator('-')
     operator(stack)
     self.assertEqual(stack.pop(), 2)
Esempio n. 10
0
 def test_execute_addition(self):
     '''Should execute an addition correctly'''
     self.assert_execute([4, 2, make_operator('+')], 6)
Esempio n. 11
0
 def test_execute_multiplication(self):
     '''Should execute a multiplication correctly'''
     self.assert_execute([4, 2, make_operator('*')], 8)
Esempio n. 12
0
 def test_execute_division(self):
     '''Should execute a division correctly'''
     self.assert_execute([4, 2, make_operator('/')], 2)