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 »