summaryrefslogtreecommitdiffstats
path: root/test/test_prime.rb
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-03 15:57:15 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-03 15:57:15 +0000
commit36a0c276d2fce22aa53427b1d7519cb476801f63 (patch)
tree2abb7f737521889c80d5c6230eaede1bd353211f /test/test_prime.rb
parent94c805728533b0ebf9343a51f87491de99e98617 (diff)
downloadruby-36a0c276d2fce22aa53427b1d7519cb476801f63.tar.gz
ruby-36a0c276d2fce22aa53427b1d7519cb476801f63.tar.xz
ruby-36a0c276d2fce22aa53427b1d7519cb476801f63.zip
* lib/prime.rb (Prime::prime?): used to return a wrong answer.
[ruby-core:22646]. * test/test_prime.rb (test_prime?): test case for [ruby-core:22646]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/test_prime.rb')
-rw-r--r--test/test_prime.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/test_prime.rb b/test/test_prime.rb
index aca510968..0dad7cf98 100644
--- a/test/test_prime.rb
+++ b/test/test_prime.rb
@@ -89,6 +89,11 @@ class TestPrime < Test::Unit::TestCase
end
end
+ def test_default_instance_does_not_have_compatibility_methods
+ assert !Prime.instance.respond_to?(:succ)
+ assert !Prime.instance.respond_to?(:next)
+ end
+
class TestInteger < Test::Unit::TestCase
def test_prime_division
pd = PRIMES.inject(&:*).prime_division
@@ -100,6 +105,10 @@ class TestPrime < Test::Unit::TestCase
end
def test_prime?
+ # zero and unit
+ assert !0.prime?
+ assert !1.prime?
+
# small primes
assert 2.prime?
assert 3.prime?
@@ -121,6 +130,12 @@ class TestPrime < Test::Unit::TestCase
# factorial
assert !(2...100).inject(&:*).prime?
+
+ # negative
+ assert !-1.prime?
+ assert -2.prime?
+ assert -3.prime?
+ assert !-4.prime?
end
end
end