Hi,

I already mentioned this in another thread, but I think this is of

general interest. So sorry, if you read it twice.

While working on something involving the “Set” class of the Ruby

standard library, I came across the following:

require “set”

require “test/unit”

class TestSet < Test::Unit::TestCase

def test_set

array_of_arrays=[[“a”, “b”]]

array_of_sets=array_of_arrays.map{|an_array| an_array.to_set}

set_of_sets=array_of_sets.to_set

contained_array=[“a”,“b”]

contained_set=contained_array.to_set

# OK

assert_equal(true, array_of_arrays.include?(contained_array))

# OK

assert_equal(true, array_of_sets.include?(contained_set))

# fails

assert_equal(true, set_of_sets.include?(contained_set))

end

end

The third assertion fails. Is this intended behaviour?

Timo