1require_relative '../../../spec_helper' 2require 'set' 3 4describe "SortedSet#keep_if" do 5 before :each do 6 @set = SortedSet["one", "two", "three"] 7 end 8 9 it "yields each Object in self in sorted order" do 10 ret = [] 11 @set.keep_if { |x| ret << x } 12 ret.should == ["one", "two", "three"].sort 13 end 14 15 it "keeps every element from self for which the passed block returns true" do 16 @set.keep_if { |x| x.size != 3 } 17 @set.to_a.should == ["three"] 18 end 19 20 it "returns self" do 21 @set.keep_if {}.should equal(@set) 22 end 23 24 it "returns an Enumerator when passed no block" do 25 enum = @set.keep_if 26 enum.should be_an_instance_of(Enumerator) 27 28 enum.each { |x| x.size != 3 } 29 @set.to_a.should == ["three"] 30 end 31end 32