Bug #12970 » fix_recursive_sets.patch
lib/set.rb | ||
---|---|---|
# add many elements at once.
|
||
def add(o)
|
||
@hash[o] = true
|
||
@hash.rehash if o == self
|
||
self
|
||
end
|
||
alias << add
|
test/test_set.rb | ||
---|---|---|
}
|
||
end
|
||
def test_recursive_superset?
|
||
recursive_set_1 = Set.new([1, 2]).tap {|s| s << s}
|
||
recursive_set_2 = Set.new([1, 2]).tap {|s| s << s}
|
||
assert recursive_set_1.superset?(recursive_set_1)
|
||
assert recursive_set_2.superset?(recursive_set_1)
|
||
assert recursive_set_1.superset?(recursive_set_2)
|
||
end
|
||
def test_proper_superset?
|
||
set = Set[1,2,3]
|
||
... | ... | |
}
|
||
end
|
||
def test_recursive_subset?
|
||
recursive_set_1 = Set.new([1, 2]).tap {|s| s << s}
|
||
recursive_set_2 = Set.new([1, 2]).tap {|s| s << s}
|
||
assert recursive_set_1.subset?(recursive_set_1)
|
||
assert recursive_set_1.subset?(recursive_set_2)
|
||
assert recursive_set_2.subset?(recursive_set_1)
|
||
end
|
||
def test_proper_subset?
|
||
set = Set[1,2,3]
|
||
... | ... | |
assert_not_equal(Set[Exception.new,nil], Set[Exception.new,Exception.new], "[ruby-dev:26127]")
|
||
end
|
||
def test_recursive_eq
|
||
recursive_set_1 = Set.new([1, 2]).tap {|s| s << s}
|
||
recursive_set_2 = Set.new([1, 2]).tap {|s| s << s}
|
||
assert_equal(recursive_set_1, recursive_set_1)
|
||
assert_equal(recursive_set_1, recursive_set_2)
|
||
end
|
||
def test_classify
|
||
set = Set.new(1..10)
|
||
ret = set.classify { |i| i % 3 }
|
- « Previous
- 1
- 2
- Next »