Duplicable test is looking fine now.
This commit is contained in:
parent
8a9cacba6d
commit
2c90568a06
@ -4,22 +4,27 @@
|
|||||||
require 'active_support/core_ext/numeric/time'
|
require 'active_support/core_ext/numeric/time'
|
||||||
|
|
||||||
class DuplicableTest < Test::Unit::TestCase
|
class DuplicableTest < Test::Unit::TestCase
|
||||||
NO = [nil, false, true, :symbol, 1, 2.3, BigDecimal.new('4.56'), Class.new, Module.new, 5.seconds]
|
RAISE_DUP = [nil, false, true, :symbol, 1, 2.3, BigDecimal.new('4.56'), 5.seconds]
|
||||||
YES = ['1', Object.new, /foo/, [], {}, Time.now]
|
YES = ['1', Object.new, /foo/, [], {}, Time.now]
|
||||||
|
NO = [Class.new, Module.new]
|
||||||
|
|
||||||
def test_duplicable
|
def test_duplicable
|
||||||
NO.each do |v|
|
(RAISE_DUP + NO).each do |v|
|
||||||
assert !v.duplicable?
|
assert !v.duplicable?
|
||||||
begin
|
|
||||||
v.dup
|
|
||||||
fail
|
|
||||||
rescue Exception
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
YES.each do |v|
|
YES.each do |v|
|
||||||
assert v.duplicable?
|
assert v.duplicable?
|
||||||
|
end
|
||||||
|
|
||||||
|
(YES + NO).each do |v|
|
||||||
assert_nothing_raised { v.dup }
|
assert_nothing_raised { v.dup }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
RAISE_DUP.each do |v|
|
||||||
|
assert_raises(TypeError) do
|
||||||
|
v.dup
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user