Sha256: b24bee8678328436d2e8185e25b2048051b6ec43771ee9d40112e3b93a3ac8ed

Contents?: true

Size: 883 Bytes

Versions: 36

Compression:

Stored size: 883 Bytes

Contents

describe Integer, "#practical?" do
  PRACTICAL =[1,2,4,6,8,12,16,18,20,24,28,30,32,36,40,42,48,54,
              56,60,64,66,72,78,80,84,88,90,96,100,104,108,112,
              120,126,128,132,140,144,150,156,160,162,168,176,
              180,192,196,198,200,204,208,210,216,220,224,228,
              234,240,252]
  it "returns true for any practical number" do
    PRACTICAL.each do |number|
      number.should be_practical
    end
  end

  it "returns false for any non-practical number" do
    ((1..252).to_a - PRACTICAL).each do |number|
      number.should_not be_practical
    end
  end

  it "returns true for powers of two" do
    [38, 41, 2, 5].each do |pow|
      (2 ** pow).should be_practical
    end
  end

  it "returns true for perfect numbers" do
    [6, 28, 496, 8128, 33550336, 8589869056, 137438691328].each do |n|
      n.should be_practical
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

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