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 »