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'
|
||||
|
||||
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]
|
||||
NO = [Class.new, Module.new]
|
||||
|
||||
def test_duplicable
|
||||
NO.each do |v|
|
||||
(RAISE_DUP + NO).each do |v|
|
||||
assert !v.duplicable?
|
||||
begin
|
||||
v.dup
|
||||
fail
|
||||
rescue Exception
|
||||
end
|
||||
end
|
||||
|
||||
YES.each do |v|
|
||||
assert v.duplicable?
|
||||
end
|
||||
|
||||
(YES + NO).each do |v|
|
||||
assert_nothing_raised { v.dup }
|
||||
end
|
||||
|
||||
RAISE_DUP.each do |v|
|
||||
assert_raises(TypeError) do
|
||||
v.dup
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user