def test_mul(self): calc = Calculator(-100000, 100000) self.assertEqual(calc.mul(1, 1), 1) self.assertEqual(calc.mul(1, 0), 0) self.assertEqual(calc.mul(0, 1), 0) self.assertEqual(calc.mul(100, 10), 1000) self.assertEqual(calc.mul(1, 1), 1)
def test_mul_with_two_negative_numbers(self): c = Calculator() assert c.mul(-5, -10) == 50
def test_mul_with_two_positive_numbers(self): c = Calculator() assert c.mul(5, 10) == 50
def test_mul_throws_e_when_out_of_bounds_low(self): with pytest.raises(ValueError): c = Calculator() c.mul(-1001,100)
def test_mul_with_one_negative_one_positive_number(self): c = Calculator() assert c.mul(-5, 10) == -50
def test_mul_with_out_of_bounds_throws_e(self): with pytest.raises(ValueError): calculator = Calculator() calculator.mul(-1001,100)
def test_mul_with_two_negative_numbers(self): c = Calculator() self.assertEqual(c.mul(-1, -8), 8)
def test_mul_with_two_positive_numbers(self): c = Calculator() self.assertEqual(c.mul(22, 10), 220)
def test_mul_with_two_positive_numbers(self): c = Calculator() res = c.mul(5, 5) self.assertEqual(res, 25)
def test_mul(self): c = Calculator() res = c.mul(3, 3) self.assertEqual(res, 9)
def test_mul_with_one_negative_one_positive_number(self): c = Calculator() res = c.mul(-5, 5) self.assertEqual(res, -25)
def test_mul_with_two_negative_numbers(self): c = Calculator() res = c.mul(-5, -5) self.assertEqual(res, 25)
class CalculatorTests(TestCase): def setUp(self): self.calculator = Calculator() def test_mul_with_5_and_10(self): assert self.calculator.mul(5, 10) == 50 def test_mul_with_two_positive_numbers(self): assert self.calculator.mul(3, 7) == 21 def test_mul_with_two_negative_numbers(self): assert self.calculator.mul(-8, -4) == 32 def test_mul_with_one_positive_and_one_negative_number(self): assert self.calculator.mul(6, -3) == -18 def test_mul_raises_ValueError_if_a_too_high(self): with pytest.raises(ValueError): self.calculator.mul(1001, 2) def test_mul_raises_ValueError_if_a_too_low(self): with pytest.raises(ValueError): self.calculator.mul(-1001, 2) def test_mul_raises_ValueError_if_b_too_high(self): with pytest.raises(ValueError): self.calculator.mul(2, 1001) def test_mul_raises_ValueError_if_b_too_low(self): with pytest.raises(ValueError): self.calculator.mul(2, -1001) def test_div_with_two_positive_numbers(self): assert self.calculator.div(10, 5) == 2 def test_div_with_two_negative_numbers(self): assert self.calculator.div(-20, -5) == 4 def test_div_with_one_negative_and_one_positive(self): assert self.calculator.div(-30, 5) == -6 def test_div_raises_ValueError_a_too_high(self): with pytest.raises(ValueError): self.calculator.div(1001, 2) def test_div_raises_ValueError_b_too_high(self): with pytest.raises(ValueError): self.calculator.div(2, 1001) def test_div_raises_ValueError_a_too_low(self): with pytest.raises(ValueError): self.calculator.div(-1001, 2) def test_div_raises_ValueError_b_too_low(self): with pytest.raises(ValueError): self.calculator.div(2, -1001) def test_div_raises_divide_by_zero_exception(self): with pytest.raises(ZeroDivisionError): self.calculator.div(2, 0)
def test_boundaries(self): calc = Calculator(-100, 100) self.assertRaises(ValueTooLowException, lambda: calc.div(-101, 1)) self.assertRaises(ValueTooHighException, lambda: calc.mul(101, 1)) self.assertEqual(calc.div(-100, 1), -100) self.assertEqual(calc.mul(100, 1), 100)