2008-01-05 13:31:04 +00:00
|
|
|
require 'abstract_unit'
|
2007-10-15 07:11:25 +00:00
|
|
|
|
|
|
|
class DuplicableTest < Test::Unit::TestCase
|
|
|
|
NO = [nil, false, true, :symbol, 1, 2.3, BigDecimal.new('4.56')]
|
2007-10-15 07:12:40 +00:00
|
|
|
YES = ['1', Object.new, /foo/, [], {}, Time.now]
|
2007-10-15 07:11:25 +00:00
|
|
|
|
|
|
|
def test_duplicable
|
|
|
|
NO.each do |v|
|
|
|
|
assert !v.duplicable?
|
|
|
|
begin
|
|
|
|
v.dup
|
|
|
|
fail
|
|
|
|
rescue Exception
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
YES.each do |v|
|
|
|
|
assert v.duplicable?
|
|
|
|
assert_nothing_raised { v.dup }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|