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" )