Sha256: 87319443d895ef0c090ff840e8ee7a63bcb8f04e6091de90e28125ad69fcce4f

Contents?: true

Size: 777 Bytes

Versions: 36

Compression:

Stored size: 777 Bytes

Contents

describe Integer, "#perfect_power?" do
  PERFECT_POWERS = [1, 4,8,9,16,25,27,32,36,49,64,81,100,121,125,128,
                    144,169,196,216,225,243,256,289,324,343,361,400,
                    441,484,512,529,576,625,676,729,784,841,900,961,
                    1000,1024,1089,1156,1225,1296,1331,1369,1444,1521,
                    1600,1681,1728,1764]
  it "returns true for perfect powers" do
    PERFECT_POWERS.each do |power|
      power.should be_perfect_power
    end
  end

  it "returns false for imperfect powers" do
    ((1..1764).to_a - PERFECT_POWERS).each do |power|
      power.should_not be_perfect_power
    end
  end

  it "returns false for negative numbers" do
    (1..1764).each do |power|
      (-power).should_not be_perfect_power
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
numb-0.186.0 spec/numb/perfect_power_spec.rb
numb-0.185.0 spec/numb/perfect_power_spec.rb
numb-0.184.0 spec/numb/perfect_power_spec.rb
numb-0.181.0 spec/numb/perfect_power_spec.rb
numb-0.170.0 spec/numb/perfect_power_spec.rb
numb-0.152.0 spec/numb/perfect_power_spec.rb
numb-0.138.0 spec/numb/perfect_power_spec.rb
numb-0.125.0 spec/numb/perfect_power_spec.rb
numb-0.114.0 spec/numb/perfect_power_spec.rb
numb-0.111.0 spec/numb/perfect_power_spec.rb
numb-0.109.0 spec/numb/perfect_power_spec.rb
numb-0.99.0 spec/numb/perfect_power_spec.rb
numb-0.96.0 spec/numb/perfect_power_spec.rb
numb-0.89.0 spec/numb/perfect_power_spec.rb
numb-0.84.0 spec/perfect_power_spec.rb
numb-0.77.0 spec/perfect_power_spec.rb
numb-0.72.1 spec/perfect_power_spec.rb
numb-0.72.0 spec/perfect_power_spec.rb
numb-0.68.0 spec/perfect_power_spec.rb
numb-0.63.0 spec/perfect_power_spec.rb