diff options
Diffstat (limited to 'spec/ruby/library/set/sortedset/add_spec.rb')
-rw-r--r-- | spec/ruby/library/set/sortedset/add_spec.rb | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/spec/ruby/library/set/sortedset/add_spec.rb b/spec/ruby/library/set/sortedset/add_spec.rb index 5f8bde02f5..4f3bb252e1 100644 --- a/spec/ruby/library/set/sortedset/add_spec.rb +++ b/spec/ruby/library/set/sortedset/add_spec.rb @@ -1,39 +1,42 @@ require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/add' -describe "SortedSet#add" do - it_behaves_like :sorted_set_add, :add +ruby_version_is ""..."3.0" do + require 'set' + require_relative 'shared/add' - it "takes only values which responds <=>" do - obj = mock('no_comparison_operator') - obj.stub!(:respond_to?).with(:<=>).and_return(false) - -> { SortedSet["hello"].add(obj) }.should raise_error(ArgumentError) - end + describe "SortedSet#add" do + it_behaves_like :sorted_set_add, :add - it "raises on incompatible <=> comparison" do - # Use #to_a here as elements are sorted only when needed. - # Therefore the <=> incompatibility is only noticed on sorting. - -> { SortedSet['1', '2'].add(3).to_a }.should raise_error(ArgumentError) - end -end + it "takes only values which responds <=>" do + obj = mock('no_comparison_operator') + obj.stub!(:respond_to?).with(:<=>).and_return(false) + -> { SortedSet["hello"].add(obj) }.should raise_error(ArgumentError) + end -describe "SortedSet#add?" do - before :each do - @set = SortedSet.new + it "raises on incompatible <=> comparison" do + # Use #to_a here as elements are sorted only when needed. + # Therefore the <=> incompatibility is only noticed on sorting. + -> { SortedSet['1', '2'].add(3).to_a }.should raise_error(ArgumentError) + end end - it "adds the passed Object to self" do - @set.add?("cat") - @set.should include("cat") - end + describe "SortedSet#add?" do + before :each do + @set = SortedSet.new + end - it "returns self when the Object has not yet been added to self" do - @set.add?("cat").should equal(@set) - end + it "adds the passed Object to self" do + @set.add?("cat") + @set.should include("cat") + end + + it "returns self when the Object has not yet been added to self" do + @set.add?("cat").should equal(@set) + end - it "returns nil when the Object has already been added to self" do - @set.add?("cat") - @set.add?("cat").should be_nil + it "returns nil when the Object has already been added to self" do + @set.add?("cat") + @set.add?("cat").should be_nil + end end end |