示例#1
0
 def test_simple_sub_1(self):
     self.assertEqual(6, calculate("What is 103 minus 97?"))
示例#2
0
 def test_simple_mult(self):
     self.assertEqual(21, calculate("What is 7 multiplied by 3?"))
示例#3
0
 def test_invalid_operation(self):
     with self.assertRaises(ValueError) as context:
         calculate("What is 4 xor 7?")
     self.assertEqual(context.exception.message, 'Ill-formed question')
示例#4
0
 def test_missing_number(self):
     with self.assertRaises(ValueError) as context:
         calculate("What is 7 plus times -2?")
     self.assertEqual(context.exception.message, 'Ill-formed question')
示例#5
0
 def test_simple_add_1(self):
     self.assertEqual(18, calculate("What is 5 plus 13?"))
示例#6
0
 def test_reject_prefix_notation(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate('What is plus 1 2?')
示例#7
0
 def test_division(self):
     self.assertEqual(calculate("What is 33 divided by -3?"), -11)
示例#8
0
 def test_subtract_twice(self):
     self.assertEqual(-7, calculate("What is 20 minus 14 minus 13?"))
示例#9
0
 def test_subtraction(self):
     self.assertEqual(calculate("What is 4 minus -12?"), 16)
示例#10
0
 def test_multiplication(self):
     self.assertEqual(calculate("What is -3 multiplied by 25?"), -75)
示例#11
0
 def test_large_addition(self):
     self.assertEqual(calculate("What is 123 plus 45678?"), 45801)
示例#12
0
 def test_addition_with_negative_numbers(self):
     self.assertEqual(calculate("What is -1 plus -10?"), -11)
示例#13
0
 def test_more_addition(self):
     self.assertEqual(calculate("What is 53 plus 2?"), 55)
示例#14
0
 def test_add_negative_numbers(self):
     self.assertEqual(-11, calculate("What is -1 plus -10?"))
示例#15
0
 def test_multiple_addition(self):
     self.assertEqual(calculate("What is 1 plus 1 plus 1?"), 3)
示例#16
0
 def test_add_twice(self):
     self.assertEqual(4, calculate("What is 1 plus 2 plus 1?"))
示例#17
0
 def test_addition_then_subtraction(self):
     self.assertEqual(calculate("What is 1 plus 5 minus -2?"), 8)
示例#18
0
 def test_add_then_multiply(self):
     self.assertEqual(-8, calculate("What is -3 plus 7 multiplied by -2?"))
示例#19
0
 def test_multiple_subtraction(self):
     self.assertEqual(calculate("What is 20 minus 4 minus 13?"), 3)
示例#20
0
 def test_missing_number(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate("What is 7 plus multiplied by -2?")
示例#21
0
 def test_subtraction_then_addition(self):
     self.assertEqual(calculate("What is 17 minus 6 plus 3?"), 14)
示例#22
0
 def test_simple_mult(self):
     self.assertEqual(21, calculate("What is 7 times 3?"))
示例#23
0
 def test_multiple_multiplication(self):
     self.assertEqual(
         calculate("What is 2 multiplied by -2 multiplied by 3?"), -12)
示例#24
0
 def test_missing_operation(self):
     with self.assertRaises(ValueError) as context:
         calculate("What is 2 2 minus 3?")
     self.assertEqual(context.exception.message, 'Ill-formed question')
示例#25
0
 def test_addition_then_multiplication(self):
     self.assertEqual(calculate("What is -3 plus 7 multiplied by -2?"), -8)
示例#26
0
 def test_irrelevant_question(self):
     with self.assertRaises(ValueError) as context:
         calculate("Which is greater, 3 or 2?")
     self.assertEqual(context.exception.message, 'Ill-formed question')
示例#27
0
 def test_multiple_division(self):
     self.assertEqual(calculate("What is -12 divided by 2 divided by -3?"),
                      2)
示例#28
0
 def test_simple_sub_2(self):
     self.assertEqual(-6, calculate("What is 97 minus 103?"))
示例#29
0
 def test_unknown_operation(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate("What is 52 cubed?")
示例#30
0
 def test_simple_div(self):
     self.assertEqual(9, calculate("What is 45 divided by 5?"))
示例#31
0
 def test_non_math_question(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate("Who is the President of the United States?")
示例#32
0
 def test_add_more_digits(self):
     self.assertEqual(45801, calculate("What is 123 plus 45678?"))
示例#33
0
 def test_reject_problem_missing_an_operand(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate('What is 1 plus?')
示例#34
0
 def test_add_then_subtract(self):
     self.assertEqual(14, calculate("What is 1 plus 5 minus -8?"))
示例#35
0
 def test_reject_problem_with_no_operands_or_operators(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate('What is?')
示例#36
0
 def test_multiply_twice(self):
     self.assertEqual(-12, calculate("What is 2 multiplied by -2 multiplied by 3?"))
示例#37
0
 def test_reject_two_numbers_in_a_row(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate('What is 1 plus 2 1?')
示例#38
0
 def test_divide_twice(self):
     self.assertEqual(16, calculate("What is -12000 divided by 25 divided by -30?"))
示例#39
0
 def test_just_a_number(self):
     self.assertEqual(calculate('What is 5?'), 5)
示例#40
0
 def test_simple_add_2(self):
     self.assertEqual(-8, calculate("What is 5 plus -13?"))
示例#41
0
 def test_missing_operation(self):
     with self.assertRaisesWithMessage(ValueError):
         calculate("What is 2 2 minus 3?")