def power(n)
      raise ArgumentError, 'Cannot raise a temperature to a power' if temperature?
      raise ArgumentError, 'Exponent must an Integer' unless n.is_a?(Integer)
      return inverse if n == -1
      return 1 if n.zero?
      return self if n == 1
      return (1..(n - 1).to_i).inject(self) { |acc, _elem| acc * self } if n >= 0
      (1..-(n - 1).to_i).inject(self) { |acc, _elem| acc / self }
    end
def power(n)
      raise ArgumentError, 'Cannot raise a temperature to a power' if temperature?
      raise ArgumentError, 'Exponent must an Integer' unless n.is_a?(Integer)
      return inverse if n == -1
      return 1 if n.zero?
      return self if n == 1
      return (1..(n - 1).to_i).inject(self) { |acc, _elem| acc * self } if n >= 0
      (1..-(n - 1).to_i).inject(self) { |acc, _elem| acc / self }
    end
returns the unit raised to the n-th power
 @param [Integer] n
 @return [Unit]
 @raise [ArgumentError] when attempting to raise a temperature to a power
 @raise [ArgumentError] when n is not an integer