2016-05-22 02:28:03 +00:00
|
|
|
# frozen_string_literal: false
|
|
|
|
require 'test/unit'
|
2016-05-22 07:27:02 +00:00
|
|
|
require '-test-/integer'
|
2016-05-22 02:28:03 +00:00
|
|
|
|
2018-03-13 06:29:02 +00:00
|
|
|
class Test_Integer < Test::Unit::TestCase
|
2017-04-06 02:10:40 +00:00
|
|
|
FIXNUM_MIN = RbConfig::LIMITS['FIXNUM_MIN']
|
|
|
|
FIXNUM_MAX = RbConfig::LIMITS['FIXNUM_MAX']
|
2016-05-22 02:28:03 +00:00
|
|
|
|
|
|
|
def test_fixnum_range
|
|
|
|
assert_bignum(FIXNUM_MIN-1)
|
|
|
|
assert_fixnum(FIXNUM_MIN)
|
|
|
|
assert_fixnum(FIXNUM_MAX)
|
|
|
|
assert_bignum(FIXNUM_MAX+1)
|
|
|
|
end
|
2019-03-11 01:37:16 +00:00
|
|
|
|
|
|
|
def test_positive_pow
|
|
|
|
assert_separately(%w[-r-test-/integer], "#{<<~"begin;"}\n#{<<~'end;'}", timeout: 3)
|
|
|
|
begin;
|
2021-01-08 19:07:16 +09:00
|
|
|
assert_equal(1, Bug::Integer.positive_pow(1, 1))
|
|
|
|
assert_equal(0, Bug::Integer.positive_pow(0, 1))
|
|
|
|
assert_equal(3, Bug::Integer.positive_pow(3, 1))
|
|
|
|
assert_equal(-3, Bug::Integer.positive_pow(-3, 1))
|
|
|
|
assert_equal(9, Bug::Integer.positive_pow(-3, 2))
|
2019-03-11 01:37:16 +00:00
|
|
|
end;
|
|
|
|
end
|
2016-05-22 02:28:03 +00:00
|
|
|
end
|