class CalcTests(unittest.TestCase): def setUp(self): self.subject = Calc() def test_add(self): result = self.subject.add(10, 5) self.assertEqual(result, 15) def test_divide(self): result = self.subject.divide(10, 5) self.assertEqual(2, result) with self.assertRaises(ValueError): self.subject.divide(10, 0)
def test_use_calc_to_divide(self): calc = Calc() calc.divide = MagicMock(return_value=3) subect = Person(calc) result = subect.use_calc_to_divide(10, 5) self.assertNotEqual( 2, result) # not equal because the mock should do the job
class TestCalc(unittest.TestCase): """Basic calculator with add, subrtract, multiply and divide functions """ def setUp(self): self.calc = Calc() def test_add(self): self.assertEqual(self.calc.add(20, 10), 30, "incorrect addition") def test_subtract(self): self.assertEqual(self.calc.subtract(20, 10), 10, "incorrect subtraction") def test_multiply(self): self.assertEqual(self.calc.multiply(20, 10), 200, "incorrect multiplication") def test_divide(self): self.assertEqual(self.calc.divide(20, 10), 2, "incorrect division")
class TestDivide(unittest.TestCase): def setUp(self): self.calc = Calc() def test_divide_int(self): result = self.calc.divide(20, 2) self.assertEqual(result, 10) def test_divide_float(self): result = self.calc.divide(20.2, 10.1) self.assertEqual(round(result), 2) def test_divide_str(self): with self.assertRaises(ValueError): self.calc.divide('aaa', 'bbb') def test_divide_float_str(self): with self.assertRaises(TypeError): self.calc.divide(1.1, 'aa') def test_divide_int_str(self): with self.assertRaises(TypeError): self.calc.divide(2, 'aa')
def test_divide_by_zero(): c = Calc() assert c.divide(7, 0) == 'inf'
def test_divide_two_numbers(): c = Calc() assert c.divide(13, 2) == 6.5
def test_divide_by_zero(): c = Calc() assert c.divide(5, 0) == "inf"
except: exception() elif choice == 3: try: a = float(input("Enter your 1st number to multiply: ")) b = float(input("Enter your 2nd number to multiply: ")) cal.multiply(a,b) time.sleep(2) menu() except: exception() elif choice == 4: try: a = float(input("Enter your 1st number to divide: ")) b = float(input("Enter your 2nd number to divide: ")) cal.divide(a,b) time.sleep(2) menu() except: exception() elif choice == 5: try: a = float(input("Enter a number to find its Sine in Radians: ")) cal._sin(a) time.sleep(2) menu() except: exception() elif choice == 6: try: a = float(input("Enter a number to find its Cosine in Radians: "))
def test_divide_by_zer_(): c = Calc() assert c.divide(5, 0) == 'inf'
from calc import Calc if __name__ == '__main__': calc = Calc() try: print(calc.divide(3, 0)) except ZeroDivisionError: print('hello kek') print(calc.sum(0.0000001, 0.00000007)) print(calc.sum(700987100000.0, 15700987100666.0)) for i in range(22): print(i, calc.factorial(i)) print(calc.subtract(5, 3))