Пример #1
0
 def test_tokenize_addition(self):
     '''Tokenizes a rpn expression'''
     self.assert_tokenize('4 2 +', [4, 2, make_operator('+')])
Пример #2
0
 def test_make_operator_add(self):
     '''Addition operator should add'''
     stack = [4, 2]
     operator = make_operator('+')
     operator(stack)
     self.assertEqual(stack.pop(), 6)
Пример #3
0
 def test_tokenize_with_operator(self):
     '''Tokenizes operators correctly'''
     self.assert_tokenize('+', [make_operator('+')])
Пример #4
0
 def test_tokenize_division(self):
     '''Tokenizes a rpn division'''
     self.assert_tokenize('4 2 /', [4, 2, make_operator('/')])
Пример #5
0
 def test_tokenize_multiplication(self):
     '''Tokenizes a rpn subtraction'''
     self.assert_tokenize('4 2 *', [4, 2, make_operator('*')])
Пример #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)
Пример #7
0
 def test_tokenize_subtraction(self):
     '''Tokenizes a rpn subtraction'''
     self.assert_tokenize('4 2 -', [4, 2, make_operator('-')])
Пример #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)
Пример #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)
Пример #10
0
 def test_execute_addition(self):
     '''Should execute an addition correctly'''
     self.assert_execute([4, 2, make_operator('+')], 6)
Пример #11
0
 def test_execute_multiplication(self):
     '''Should execute a multiplication correctly'''
     self.assert_execute([4, 2, make_operator('*')], 8)
Пример #12
0
 def test_execute_division(self):
     '''Should execute a division correctly'''
     self.assert_execute([4, 2, make_operator('/')], 2)