63 lines
2.2 KiB
Ruby
63 lines
2.2 KiB
Ruby
require 'minitest/autorun'
|
|
require_relative 'sieve'
|
|
|
|
# Common test data version: 1.0.0 f2b2693
|
|
class SieveTest < Minitest::Test
|
|
def test_no_primes_under_two
|
|
expected = []
|
|
assert_equal expected, Sieve.new(1).primes
|
|
end
|
|
|
|
def test_find_first_prime
|
|
expected = [2]
|
|
assert_equal expected, Sieve.new(2).primes
|
|
end
|
|
|
|
def test_find_primes_up_to_10
|
|
expected = [2, 3, 5, 7]
|
|
assert_equal expected, Sieve.new(10).primes
|
|
end
|
|
|
|
def test_limit_is_prime
|
|
expected = [2, 3, 5, 7, 11, 13]
|
|
assert_equal expected, Sieve.new(13).primes
|
|
end
|
|
|
|
def test_find_primes_up_to_1000
|
|
expected = [
|
|
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59,
|
|
61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139,
|
|
149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
|
|
239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337,
|
|
347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439,
|
|
443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557,
|
|
563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653,
|
|
659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769,
|
|
773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883,
|
|
887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
|
|
]
|
|
assert_equal expected, Sieve.new(1000).primes
|
|
end
|
|
|
|
# Problems in exercism evolve over time, as we find better ways to ask
|
|
# questions.
|
|
# The version number refers to the version of the problem you solved,
|
|
# not your solution.
|
|
#
|
|
# Define a constant named VERSION inside of the top level BookKeeping
|
|
# module, which may be placed near the end of your file.
|
|
#
|
|
# In your file, it will look like this:
|
|
#
|
|
# module BookKeeping
|
|
# VERSION = 1 # Where the version number matches the one in the test.
|
|
# end
|
|
#
|
|
# If you are curious, read more about constants on RubyDoc:
|
|
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
|
|
|
def test_bookkeeping
|
|
assert_equal 1, BookKeeping::VERSION
|
|
end
|
|
end
|