Sha256: caeda562954fa1be1266020d36485d2ee57b34bb8aa8ece45bc8a06431462cff

Contents?: true

Size: 727 Bytes

Versions: 20

Compression:

Stored size: 727 Bytes

Contents

describe Integer, "#cube?" do
  # A000578 
  @seq = [0,1,8,27,64,125,216,343,512,729,1000,1331,1728,
          2197,2744,3375,4096,4913,5832,6859,8000,9261,
          10648,12167,13824,15625,17576,19683,21952,24389,
          27000,29791,32768,35937,39304,42875,46656,50653,
          54872,59319,64000].to_seq

  @seq.each do |n|
    it "returns true for perfect cube #{n}" do
      n.should be_cube
    end

    it "returns true for negative perfect cube #{-n}" do
      (-n).should be_cube
    end
  end

  @seq.invert.sample(10).each do |n|
    it "returns false for non-cube #{n}" do
      n.should_not be_cube
    end

    it "returns false for negative non-cube #{-n}" do
      (-n).should_not be_cube
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

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