Sha256: ff544483ac9edbff8306b67187bc0463153f64275dcc3b3b40e697eb3dc985ec

Contents?: true

Size: 1.02 KB

Versions: 15

Compression:

Stored size: 1.02 KB

Contents

describe Integer, "#twin_prime?" do
  # A001359, A006512
  @seq = [3,5,11,17,29,41,59,71,101,107,137,149,179,191,
          197,227,239,269,281,311,347,419,431,461,521,569,
          599,617,641,659,809,821,827,857,881,1019,1031,
          1049,1061,1091,1151,1229,1277,1289,1301,1319,1427,
          1451,1481,1487,1607].zip(
         [5,7,13,19,31,43,61,73,103,109,139,151,181,193,
          199,229,241,271,283,313,349,421,433,463,523,571,
          601,619,643,661,811,823,829,859,883,1021,1033,
          1051,1063,1093,1153,1231,1279,1291,1303,1321,1429,
          1453,1483,1489,1609])

  @seq.each do |p, q|
    it "should return true for twin-primes #{p} and #{q}" do
      p.twin_prime?(q).should be_true
    end
  end

  it "returns false for two primes which are not twin" do
    2.twin_prime?(29).should be_false
  end

  it "returns false for a prime and a composite" do
    17.twin_prime?(20).should be_false
  end

  it "returns false for two composites with a difference of two" do
    20.twin_prime?(22).should be_false
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
numb-0.186.0 spec/numb/twin_prime_spec.rb
numb-0.185.0 spec/numb/twin_prime_spec.rb
numb-0.184.0 spec/numb/twin_prime_spec.rb
numb-0.181.0 spec/numb/twin_prime_spec.rb
numb-0.170.0 spec/numb/twin_prime_spec.rb
numb-0.152.0 spec/numb/twin_prime_spec.rb
numb-0.138.0 spec/numb/twin_prime_spec.rb
numb-0.125.0 spec/numb/twin_prime_spec.rb
numb-0.114.0 spec/numb/twin_prime_spec.rb
numb-0.111.0 spec/numb/twin_prime_spec.rb
numb-0.109.0 spec/numb/twin_prime_spec.rb
numb-0.99.0 spec/numb/twin_prime_spec.rb
numb-0.96.0 spec/numb/twin_prime_spec.rb
numb-0.89.0 spec/numb/twin_prime_spec.rb
numb-0.84.0 spec/twin_prime_spec.rb