def test_divide(): x = 1 y = 2 expected = 0.5 obtained = c.divide(x, y) assert expected == obtained
class CalculatorTest(unittest.TestCase): def setUp(self): self.calc = Calculator() def test_calculator_add_method_returns_correct_result(self): result = self.calc.add(2, 2) self.assertEqual(4, result) def test_calculator_add_method_raise_error_on_wrong_input(self): self.assertRaises(ValueError, self.calc.add, 'two', 'three') self.assertRaises(ValueError, self.calc.add, 1, 'a') def test_calculator_subtract_method_returns_correct_result(self): result = self.calc.subtract(4, 1) self.assertEqual(3, result) def test_calculator_subtract_method_raise_error_on_wrong_input(self): self.assertRaises(ValueError, self.calc.subtract, 'two', 'three') self.assertRaises(ValueError, self.calc.subtract, 1, 'a') def test_calculator_multiply_method_returns_correct_result(self): result = self.calc.multiply(3, 4) self.assertEqual(12, result) def test_calculator_multiply_method_raise_error_on_wrong_input(self): self.assertRaises(ValueError, self.calc.multiply, 'two', 'three') self.assertRaises(ValueError, self.calc.multiply, 1, 'a') def test_calculator_divide_method_returns_correct_result(self): result = self.calc.divide(15, 5) self.assertEqual(3, result) def test_calculator_divide_method_raise_error_on_wrong_input(self): self.assertRaises(ValueError, self.calc.divide, 'two', 'three') self.assertRaises(ValueError, self.calc.divide, 1, 'a') def test_calculator_divide_method_raise_error_on_divide_by_zero(self): self.assertRaises(ZeroDivisionError, self.calc.divide, 16, 0) def test_calculator_power_method_returns_correct_result(self): result = self.calc.power(5, 3) self.assertEqual(125, result) def test_calculator_power_method_raise_error_on_wrong_input(self): self.assertRaises(ValueError, self.calc.power, 'two', 'three') self.assertRaises(ValueError, self.calc.power, 1, 'a') def test_calculator_root_method_returns_correct_result(self): result = self.calc.root(16, 2) self.assertEqual(4, result) result = self.calc.root(8, 3) self.assertEqual(2, result) def test_calculator_root_method_raise_error_on_wrong_input(self): self.assertRaises(ValueError, self.calc.root, 'two', 'three') self.assertRaises(ValueError, self.calc.root, 1, 'a')
def test_divide(self): calc = Calculator() result = calc.divide(4, 2) self.assertEqual(2, result)
def test_divide(self): calc = Calculator() result = calc.divide(4,2) self.assertEqual(2, result)
def test_divide_byzero(self): with self.assertRaises(ZeroDivisionError): result = Calculator.divide(4,0) self.assertEqual(result,0)
def test_divide_positive(self): result = Calculator.divide(4,-2) self.assertEqual(result, -2)
class TddInPythonExample(unittest.TestCase): def setUp(self): self.calc = Calculator() # Correct result tests def test_calculator_add_method_returns_correct_result(self): result = self.calc.add(2, 2) self.assertEqual(4, result) def test_calculator_subtract_method_returns_correct_result(self): result = self.calc.subtract(10, 2) self.assertEqual(8, result) def test_calculator_multiply_method_returns_correct_result(self): result = self.calc.multiply(15, 3) self.assertEqual(45, result) def test_calculator_divide_method_returns_correct_result(self): result = self.calc.divide(100, 5) self.assertEqual(20, result) # Test for when both args are not numbers def test_calculator_add_if_both_args_are_not_numbers(self): self.assertRaises(ValueError, self.calc.add, 'two', 'three') def test_calculator_subtract_if_both_args_are_not_numbers(self): self.assertRaises(ValueError, self.calc.subtract, [1, 2, 3], 'three') def test_calculator_multiply_if_both_args_are_not_numbers(self): self.assertRaises(ValueError, self.calc.multiply, {'one': '1'}, '2') def test_calculator_divide_if_both_args_are_not_numbers(self): self.assertRaises(ValueError, self.calc.divide, (1, 3, 5), 'eleven') # Tests for when x is not a number def test_calculator_add_returns_error_message_if_x_arg_not_number(self): self.assertRaises(ValueError, self.calc.add, 'two', 3) def test_calculator_subtract_returns_error_message_if_x_arg_not_number( self): self.assertRaises(ValueError, self.calc.subtract, (2, 4), 3) def test_calculator_multiply_returns_error_message_if_x_arg_not_number( self): self.assertRaises(ValueError, self.calc.multiply, {'x': 'four'}, 3) def test_calculator_divide_returns_error_message_if_x_arg_not_number(self): self.assertRaises(ValueError, self.calc.divide, [15], 3) # Tests for when y is not a number def test_calculator_add_returns_error_message_if_y_arg_not_number(self): self.assertRaises(ValueError, self.calc.add, 2, 'three') def test_calculator_subtract_returns_error_message_if_y_arg_not_number( self): self.assertRaises(ValueError, self.calc.subtract, 100, {'y': 'four'}) def test_calculator_multiply_returns_error_message_if_y_arg_not_number( self): self.assertRaises(ValueError, self.calc.multiply, 65, [15]) def test_calculator_divide_returns_error_message_if_y_arg_not_number(self): self.assertRaises(ValueError, self.calc.divide, 2, (1, )) # Test divide_by_zero def test_calculator_divide_by_zero_returns_error_message(self): self.assertRaises(ZeroDivisionError, self.calc.divide, 15, 0)