From c6742a0ae6313be120b38b554f5e3a16397e77c1 Mon Sep 17 00:00:00 2001 From: marcandre Date: Wed, 10 Aug 2016 18:17:41 +0000 Subject: * lib/prime.rb: Optimize prime? Adapted from patch by Jabari Zakiya [#12665] * test/test_prime.rb: Improve test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/test_prime.rb | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'test') diff --git a/test/test_prime.rb b/test/test_prime.rb index b48ccae319..7f15894abf 100644 --- a/test/test_prime.rb +++ b/test/test_prime.rb @@ -140,17 +140,14 @@ class TestPrime < Test::Unit::TestCase end def test_prime? - # zero and unit - assert_not_predicate(0, :prime?) - assert_not_predicate(1, :prime?) - - # small primes - assert_predicate(2, :prime?) - assert_predicate(3, :prime?) + PRIMES.each do |p| + assert_predicate(p, :prime?) + end - # squared prime - assert_not_predicate(4, :prime?) - assert_not_predicate(9, :prime?) + composites = (0..PRIMES.last).to_a - PRIMES + composites.each do |c| + assert_not_predicate(c, :prime?) + end # mersenne numbers assert_predicate((2**31-1), :prime?) -- cgit v1.2.3