def test_zero_to_power_of_zero_returns_error(self): calc = Calculator() try: calc.power(0, 0) self.assertFalse(True, "Expected exception") except UndefinedResultError: return except: self.assertFalse(True, "Unexpected type of exception")
class TestCalculator(unittest.TestCase): def setUp(self): self.calculator = Calculator() def test_time1(self): t0 = time.time() print("System time is " + str(t0) + " seconds") def test_add(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.add(1, 2, 3).value, calc_value + 6) def test_mul(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( self.calculator.multiply(5, 2, 90).value, calc_value * 900) def test_divide(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.divide(2, 3).value, calc_value / 6) def test_divide_zero(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.divide(0).message, "Error") def test_pow(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.power(2, 3).value, (calc_value**2)**3) def test_pow_large(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.power(12).value, calc_value**12) def test_pow_zero(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.power(0).value, 1) def test_pow_less_zero(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( self.calculator.power(-5).value, 1.0 / (calc_value**5)) def test_pow_rational(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( float('{:.10f}'.format(self.calculator.power(3.14).value)), float('{:.10f}'.format((calc_value**3.14)))) def test_pow_incorrect_input(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.power("MAAD").message, "Error") def test_root(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( float('{:.10f}'.format(self.calculator.root(25).value)), float('{:.10f}'.format(calc_value**0.04))) def test_root_zero(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual(self.calculator.root(0).message, "Error") def test_root_less_zero(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( float('{:.10f}'.format(self.calculator.root(-10).value)), float('{:.10f}'.format(1.0 / calc_value**0.1))) def test_root_rational(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( float('{:.10f}'.format(self.calculator.root(2.7).value)), float('{:.10f}'.format(calc_value**(1.0 / 2.7)))) def test_root_large(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( float('{:.10f}'.format(self.calculator.root(1000).value)), float('{:.10f}'.format(calc_value**0.001))) def test_multy_test1(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( float('{:.10f}'.format( self.calculator.add(30, 239).divide( 20, 30, integer_divide=False).power(7, 8, 350).subtract(1000000).value)), float('{:.10f}'.format(((((calc_value + 269) / 600.0)**7)**8) - 1000000))) def test_multy_test2(self): self.calculator = Calculator() calc_value = self.calculator.value self.assertEqual( float('{:.10f}'.format( self.calculator.root(3, 5).multiply(10, 20, 30).subtract( 10, 100, 1000000).power(4).value)), float('{:.10f}'.format( ((((calc_value**(1.0 / 3.0))**(1.0 / 5.0)) * 6000.0) - 1000110)**4))) def test_time2(self): t1 = time.time() print("System time is " + str(t1) + " seconds")
def test_number_raised_to_power_of_1_equals_this_number(self): calc = Calculator() res = calc.power(234, 1) self.assertEqual(234, res)
def test_number_raised_to_power_of_negative_returns_fraction(self): calc = Calculator() res = calc.power(2, -1) self.assertEqual(0.5, res)
def test_number_raised_to_power_of_0_equals_1(self): calc = Calculator() res = calc.power(2, 0) self.assertEqual(1, res)