示例#1
0
 def test_addition(self):
     self.assertEqual(answer("What is 1 plus 1?"), 2)
示例#2
0
 def test_missing_operation(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("What is 2 2 minus 3?")
示例#3
0
 def test_multiple_division(self):
     self.assertEqual(answer("What is -12 divided by 2 divided by -3?"), 2)
示例#4
0
 def test_unknown_operation(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("What is 52 cubed?")
示例#5
0
 def test_reject_two_operations_in_a_row(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is 1 plus plus 2?')
示例#6
0
 def test_division(self):
     self.assertEqual(answer("What is 33 divided by -3?"), -11)
示例#7
0
 def test_subtraction_then_addition(self):
     self.assertEqual(answer("What is 17 minus 6 plus 3?"), 14)
示例#8
0
 def test_reject_problem_missing_an_operand(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is 1 plus?')
示例#9
0
 def test_reject_problem_with_no_operands_or_operators(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is?')
示例#10
0
 def test_reject_postfix_notation(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("What is 1 2 plus?")
示例#11
0
 def test_non_math_question(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("Who is the President of the United States?")
示例#12
0
 def test_reject_prefix_notation(self):
     with self.assertRaises(ValueError) as err:
         answer("What is plus 1 2?")
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "syntax error")
示例#13
0
 def test_reject_two_numbers_in_a_row(self):
     with self.assertRaises(ValueError) as err:
         answer("What is 1 plus 2 1?")
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "syntax error")
示例#14
0
 def test_reject_problem_with_no_operands_or_operators(self):
     with self.assertRaises(ValueError) as err:
         answer("What is?")
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "syntax error")
示例#15
0
 def test_addition_with_negative_numbers(self):
     self.assertEqual(answer("What is -1 plus -10?"), -11)
示例#16
0
 def test_reject_two_operations_in_a_row(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is 1 plus plus 2?')
示例#17
0
 def test_subtraction(self):
     self.assertEqual(answer("What is 4 minus -12?"), 16)
示例#18
0
 def test_reject_two_numbers_in_a_row(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is 1 plus 2 1?')
示例#19
0
 def test_addition_and_subtraction(self):
     self.assertEqual(answer("What is 1 plus 5 minus -2?"), 8)
示例#20
0
 def test_just_a_number(self):
     self.assertEqual(answer('What is 5?'), 5)
示例#21
0
 def test_addition_and_multiplication(self):
     self.assertEqual(answer("What is -3 plus 7 multiplied by -2?"), -8)
示例#22
0
 def test_reject_prefix_notation(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is plus 1 2?')
示例#23
0
 def test_reject_problem_missing_an_operand(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is 1 plus?')
示例#24
0
 def test_missing_operation(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("What is 2 2 minus 3?")
示例#25
0
 def test_reject_prefix_notation(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is plus 1 2?')
示例#26
0
 def test_missing_number(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("What is 7 plus multiplied by -2?")
示例#27
0
 def test_reject_problem_missing_an_operand(self):
     with self.assertRaises(ValueError) as err:
         answer("What is 1 plus?")
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "syntax error")
示例#28
0
 def test_addition(self):
     self.assertEqual(answer("What is 1 plus 1?"), 2)
示例#29
0
 def test_unknown_operation(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("What is 52 cubed?")
示例#30
0
 def test_more_addition(self):
     self.assertEqual(answer("What is 53 plus 2?"), 55)
示例#31
0
 def test_more_addition(self):
     self.assertEqual(answer("What is 53 plus 2?"), 55)
示例#32
0
 def test_addition_with_negative_numbers(self):
     self.assertEqual(answer("What is -1 plus -10?"), -11)
示例#33
0
 def test_large_addition(self):
     self.assertEqual(answer("What is 123 plus 45678?"), 45801)
示例#34
0
 def test_large_addition(self):
     self.assertEqual(answer("What is 123 plus 45678?"), 45801)
示例#35
0
 def test_multiplication(self):
     self.assertEqual(answer("What is -3 multiplied by 25?"), -75)
示例#36
0
 def test_subtraction(self):
     self.assertEqual(answer("What is 4 minus -12?"), 16)
示例#37
0
 def test_multiple_additions(self):
     self.assertEqual(answer("What is 1 plus 1 plus 1?"), 3)
示例#38
0
 def test_multiplication(self):
     self.assertEqual(answer("What is -3 multiplied by 25?"), -75)
示例#39
0
 def test_multiple_subtraction(self):
     self.assertEqual(answer("What is 20 minus 4 minus 13?"), 3)
示例#40
0
 def test_division(self):
     self.assertEqual(answer("What is 33 divided by -3?"), -11)
示例#41
0
 def test_multiple_multiplication(self):
     self.assertEqual(
         answer("What is 2 multiplied by -2 multiplied by 3?"), -12)
示例#42
0
 def test_multiple_additions(self):
     self.assertEqual(answer("What is 1 plus 1 plus 1?"), 3)
示例#43
0
 def test_multiple_division(self):
     self.assertEqual(
         answer("What is -12 divided by 2 divided by -3?"), 2)
示例#44
0
 def test_addition_and_subtraction(self):
     self.assertEqual(answer("What is 1 plus 5 minus -2?"), 8)
示例#45
0
 def test_non_math_question(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("Who is the President of the United States?")
示例#46
0
 def test_multiple_subtraction(self):
     self.assertEqual(answer("What is 20 minus 4 minus 13?"), 3)
示例#47
0
 def test_reject_problem_with_no_operands_or_operators(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is?')
示例#48
0
 def test_subtraction_then_addition(self):
     self.assertEqual(answer("What is 17 minus 6 plus 3?"), 14)
示例#49
0
 def test_reject_two_numbers_in_a_row(self):
     with self.assertRaisesWithMessage(ValueError):
         answer('What is 1 plus 2 1?')
示例#50
0
 def test_multiple_multiplication(self):
     self.assertEqual(answer("What is 2 multiplied by -2 multiplied by 3?"), -12)
示例#51
0
 def test_just_a_number(self):
     self.assertEqual(answer('What is 5?'), 5)
示例#52
0
 def test_addition_and_multiplication(self):
     self.assertEqual(answer("What is -3 plus 7 multiplied by -2?"), -8)
示例#53
0
 def test_missing_number(self):
     with self.assertRaisesWithMessage(ValueError):
         answer("What is 7 plus multiplied by -2?")
示例#54
0
 def test_non_math_question(self):
     with self.assertRaises(ValueError) as err:
         answer("Who is the President of the United States?")
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "unknown operation")