Sha256: 395a6b59f8cdf30ef6550b9d6172235398562d098ea0a029c41368c48a01f5c8

Contents?: true

Size: 750 Bytes

Versions: 20

Compression:

Stored size: 750 Bytes

Contents

describe Integer, "#harshad?" do
  # A005349
  @seq = [1,2,3,4,5,6,7,8,9,10,12,18,20,21,24,27,30,36,40,
          42,45,48,50,54,60,63,70,72,80,81,84,90,100,102,
          108,110,111,112,114,117,120,126,132,133,135,140,
          144,150,152,153,156,162,171,180,190,192,195,198,
          200,201,204].to_seq

  @seq.each do |n|
    it "returns true for Harshad (Niven) number #{n}" do
      n.should be_harshad
    end

    it "returns false for negative Harshad (Niven) number #{-n}" do
      (-n).should_not be_harshad
    end
  end

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

  it "returns false for 0" do
    0.should_not be_harshad
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

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