def test_power_iterative(self): print("power_iterative") self.assertEqual(1, Exponentiation.power_iterative(0.0, 0)) self.assertEqual(1024, Exponentiation.power_iterative(2, 10)) self.assertEqual(15.625, Exponentiation.power_iterative(2.5, 3)) self.assertEqual(81129638414606681695789005144064.0, Exponentiation.power_iterative(2, 106))
def test_power_negative(self): print("power_negative") self.assertEqual(1, Exponentiation.power_negative(0.0, 0)) self.assertEqual(1024, Exponentiation.power_negative(2, 10)) self.assertEqual(15.625, Exponentiation.power_negative(2.5, 3)) self.assertEqual(81129638414606681695789005144064.0, Exponentiation.power_negative(2, 106)) self.assertAlmostEqual(0.125, Exponentiation.power_negative(2, -3), 3)
def test_power_real(self): print("power_real") #self.assertEqual(1, Exponentiation.power_real(0.0, 0)) self.assertEqual(1024, Exponentiation.power_real(2, 10)) self.assertAlmostEqual(15.625, Exponentiation.power_real(2.5, 3), 3) #self.assertAlmostEqual(81129638414606681695789005144064.0, Exponentiation.power_real(2, 106), 1) self.assertAlmostEqual(0.125, Exponentiation.power_real(2, -3), 3) self.assertEqual(4, Exponentiation.power_real(16, 0.5))
def test_power_recursive_log_time(self): print("Time of recursive logarithmic exponentiation (O(log(n)): "), start = time.clock() counter5 = 0 for i in range(1, 3000): counter5 += Exponentiation.power_recursive_log(13, i) end = time.clock() print(str(end - start) + " s\n") self.assertEqual(self.result, counter5)
def test_power_iterative_time(self): print("Time of iterative exponentiation (O(n)): "), start = time.clock() counter2 = 0 for i in range(1, 3000): counter2 += Exponentiation.power_iterative(13, i) end = time.clock() print(str(end - start) + " s\n") self.assertEqual(self.result, counter2)
def test_power_recursive_log(self): print("power_recursive_log") self.assertEqual(1, Exponentiation.power_recursive_log(0.0, 0)) self.assertEqual(1024, Exponentiation.power_recursive_log(2, 10)) self.assertEqual(15.625, Exponentiation.power_recursive_log(2.5, 3)) self.assertEqual(81129638414606681695789005144064.0, Exponentiation.power_recursive_log(2, 106))