require 'mathn' describe "Fixnum#**" do it "returns self raised to other (positive) power" do (2 ** 4).should == 16 (2 ** 1.2).should be_close(2.2973967, TOLERANCE) end ruby_version_is '1.9' do it "returns a complex number when negative and raised to a fractional power" do ((-8) ** (1/3)).should be_close(Complex(1, 1.73205), TOLERANCE) ((-8) ** (1.0/3)).should be_close(Complex(1, 1.73205), TOLERANCE) end end end