mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
37 lines
1.3 KiB
Ruby
37 lines
1.3 KiB
Ruby
|
# Author:: Nathaniel Talbott.
|
||
|
# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
|
||
|
# License:: Ruby license.
|
||
|
|
||
|
require 'test/unit'
|
||
|
require 'test/unit/util/procwrapper'
|
||
|
|
||
|
module Test
|
||
|
module Unit
|
||
|
module Util
|
||
|
class TC_ProcWrapper < TestCase
|
||
|
def munge_proc(&a_proc)
|
||
|
return a_proc
|
||
|
end
|
||
|
def setup
|
||
|
@original = proc {}
|
||
|
@munged = munge_proc(&@original)
|
||
|
@wrapped_original = ProcWrapper.new(@original)
|
||
|
@wrapped_munged = ProcWrapper.new(@munged)
|
||
|
end
|
||
|
def test_wrapping
|
||
|
assert_same(@original, @wrapped_original.to_proc, "The wrapper should return what was wrapped")
|
||
|
end
|
||
|
def test_hashing
|
||
|
assert_not_equal(@original.hash, @munged.hash, "The original and munged procs should not have the same hash")
|
||
|
|
||
|
assert_equal(@wrapped_original.hash, @wrapped_munged.hash, "The original and munged should have the same hash when wrapped")
|
||
|
assert_equal(@wrapped_original, @wrapped_munged, "The wrappers should be equivalent")
|
||
|
|
||
|
a_hash = {@wrapped_original => @original}
|
||
|
assert_not_nil(a_hash[@wrapped_original], "Should be able to access the wrapper in the hash")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|