1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
require 'abstract_unit' class DuplicableTest < Test::Unit::TestCase NO = [nil, false, true, :symbol, 1, 2.3, BigDecimal.new('4.56')] YES = ['1', Object.new, /foo/, [], {}, Time.now] 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