aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/library/prime/prime_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/prime/prime_spec.rb')
-rw-r--r--spec/ruby/library/prime/prime_spec.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/ruby/library/prime/prime_spec.rb b/spec/ruby/library/prime/prime_spec.rb
new file mode 100644
index 0000000000..7a41496f7f
--- /dev/null
+++ b/spec/ruby/library/prime/prime_spec.rb
@@ -0,0 +1,17 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+require 'prime'
+
+describe "Prime#prime?" do
+ it "returns a true value for prime numbers" do
+ Prime.prime?(2).should be_true
+ Prime.prime?(3).should be_true
+ Prime.prime?(2**31-1).should be_true # 8th Mersenne prime (M8)
+ end
+
+ it "returns a false value for composite numbers" do
+ Prime.prime?(4).should be_false
+ Prime.prime?(15).should be_false
+ Prime.prime?(2**32-1).should be_false
+ Prime.prime?( (2**17-1)*(2**19-1) ).should be_false # M6*M7
+ end
+end