def test_pow_even_root_of_negative(self):
     with self.assertRaises(
             ValueError,
             msg=
             "Test failed, Calculator.pow(-6, 0.5) should raise ValueError"
     ):
         Calculator.pow(-6, 0.5)
 def test_pow_positive(self):
     self.assertEqual(Calculator.pow(3, 2), 9, "Test failed, pow(3, 2) should equal 9")
 def test_pow_parameters_both_neg_floating(self):
     with self.assertRaises(ValueError, "Test failed, pow(-0.00032, -0.2) should raise ValueError."):
         Calculator.pow(-0.00032, -0.2)
 def test_pow_param1_pos_floating_param2_neg_floating(self):
     self.assertEqual(Calculator.pow(0.00032, -0.2), 5, "Test failed, pow(0.00032, -0.2) should equal 5")
 def test_pow_parameters_are_positive_floats_less_than_1(self):
     self.assertEqual(Calculator.pow(0.0016, 0.25), 0.2, "Test failed, pow(0.0016, 0.25) should equal 0.2")
 def test_pow_parameter1_is_zero(self):
     self.assertEqual(Calculator.pow(0, 2), 0, "Test failed, pow(0, 2) should equal 0")
 def test_pow_parameter1_negative_parameter2_even(self):
     self.assertEqual(Calculator.pow(-2, 2), 4, "Test failed, pow(-2, 2)) should equal 4")
 def test_pow_parameter1_negative_parameter2_odd(self):
     self.assertEqual(Calculator.pow(-2, 3), -8, "Test failed, pow(-2, 3)) should equal -8")
 def test_pow_parameter_2_between_0_and_1(self):
     self.assertEqual(Calculator.pow(16, 0.25), 2, "Test failed, pow(16, 0.25) should equal 2")
 def test_pow_parameter_2_zero(self):
     self.assertEqual(Calculator.pow(3, 0), 1, "Test failed, pow(3, 0) should equal 1")
 def test_pow_parameter_2_negative(self):
     self.assertEqual(Calculator.pow(2, -3), 0.125, "Test failed, pow(2, -3) should equal 0.125")
 def test_pow_odd_root_of_negative(self):
     difference = abs(Calculator.pow(-6, 0.1111111111111111) - -1.220284936)
     self.assertLessEqual(
         difference, 0.00001,
         "Test failed, pow(-6, 1/9) should be within 0.00001 of -1.220284936"
     )