From 9dbb2bfd73e66106ec75fb9fff3ac38d85e40395 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sat, 5 Dec 2020 11:40:00 +0100 Subject: Wrap SortedSet with `ruby_version_is ""..."3.0"` * Using $ spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.0"' spec/ruby/library/set/sortedset/**/*_spec.rb --- spec/ruby/library/set/sortedset/add_spec.rb | 59 ++++++++++--------- spec/ruby/library/set/sortedset/append_spec.rb | 11 ++-- .../library/set/sortedset/case_equality_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/classify_spec.rb | 41 +++++++------ spec/ruby/library/set/sortedset/clear_spec.rb | 25 ++++---- spec/ruby/library/set/sortedset/collect_spec.rb | 11 ++-- .../ruby/library/set/sortedset/constructor_spec.rb | 21 ++++--- spec/ruby/library/set/sortedset/delete_if_spec.rb | 57 +++++++++--------- spec/ruby/library/set/sortedset/delete_spec.rb | 55 +++++++++--------- spec/ruby/library/set/sortedset/difference_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/divide_spec.rb | 53 +++++++++-------- spec/ruby/library/set/sortedset/each_spec.rb | 39 +++++++------ spec/ruby/library/set/sortedset/empty_spec.rb | 15 +++-- spec/ruby/library/set/sortedset/eql_spec.rb | 23 ++++---- .../ruby/library/set/sortedset/equal_value_spec.rb | 19 +++--- spec/ruby/library/set/sortedset/exclusion_spec.rb | 27 +++++---- spec/ruby/library/set/sortedset/filter_spec.rb | 13 +++-- .../library/set/sortedset/flatten_merge_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/flatten_spec.rb | 67 +++++++++++----------- spec/ruby/library/set/sortedset/hash_spec.rb | 19 +++--- spec/ruby/library/set/sortedset/include_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/initialize_spec.rb | 49 ++++++++-------- spec/ruby/library/set/sortedset/inspect_spec.rb | 15 +++-- .../library/set/sortedset/intersection_spec.rb | 17 +++--- spec/ruby/library/set/sortedset/keep_if_spec.rb | 47 ++++++++------- spec/ruby/library/set/sortedset/length_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/map_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/member_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/merge_spec.rb | 29 +++++----- spec/ruby/library/set/sortedset/minus_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/plus_spec.rb | 11 ++-- .../set/sortedset/pretty_print_cycle_spec.rb | 15 +++-- .../library/set/sortedset/pretty_print_spec.rb | 23 ++++---- .../library/set/sortedset/proper_subset_spec.rb | 51 ++++++++-------- .../library/set/sortedset/proper_superset_spec.rb | 51 ++++++++-------- spec/ruby/library/set/sortedset/reject_spec.rb | 63 ++++++++++---------- spec/ruby/library/set/sortedset/replace_spec.rb | 25 ++++---- spec/ruby/library/set/sortedset/select_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/size_spec.rb | 11 ++-- spec/ruby/library/set/sortedset/subset_spec.rb | 51 ++++++++-------- spec/ruby/library/set/sortedset/subtract_spec.rb | 25 ++++---- spec/ruby/library/set/sortedset/superset_spec.rb | 51 ++++++++-------- spec/ruby/library/set/sortedset/to_a_spec.rb | 25 ++++---- spec/ruby/library/set/sortedset/union_spec.rb | 17 +++--- 44 files changed, 681 insertions(+), 549 deletions(-) (limited to 'spec/ruby/library') 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 diff --git a/spec/ruby/library/set/sortedset/append_spec.rb b/spec/ruby/library/set/sortedset/append_spec.rb index ebcceba962..d72d70b21f 100644 --- a/spec/ruby/library/set/sortedset/append_spec.rb +++ b/spec/ruby/library/set/sortedset/append_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/add' -describe "SortedSet#<<" do - it_behaves_like :sorted_set_add, :<< +ruby_version_is ""..."3.0" do + require 'set' + require_relative 'shared/add' + + describe "SortedSet#<<" do + it_behaves_like :sorted_set_add, :<< + end end diff --git a/spec/ruby/library/set/sortedset/case_equality_spec.rb b/spec/ruby/library/set/sortedset/case_equality_spec.rb index 48e3735c8e..d7c296b626 100644 --- a/spec/ruby/library/set/sortedset/case_equality_spec.rb +++ b/spec/ruby/library/set/sortedset/case_equality_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require_relative 'shared/include' -require 'set' -describe "SortedSet#===" do - it_behaves_like :sorted_set_include, :=== +ruby_version_is ""..."3.0" do + require_relative 'shared/include' + require 'set' + + describe "SortedSet#===" do + it_behaves_like :sorted_set_include, :=== + end end diff --git a/spec/ruby/library/set/sortedset/classify_spec.rb b/spec/ruby/library/set/sortedset/classify_spec.rb index 62b26d5d28..4011e58b82 100644 --- a/spec/ruby/library/set/sortedset/classify_spec.rb +++ b/spec/ruby/library/set/sortedset/classify_spec.rb @@ -1,27 +1,30 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#classify" do - before :each do - @set = SortedSet["one", "two", "three", "four"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "yields each Object in self in sorted order" do - res = [] - @set.classify { |x| res << x } - res.should == ["one", "two", "three", "four"].sort - end + describe "SortedSet#classify" do + before :each do + @set = SortedSet["one", "two", "three", "four"] + end - it "returns an Enumerator when passed no block" do - enum = @set.classify - enum.should be_an_instance_of(Enumerator) + it "yields each Object in self in sorted order" do + res = [] + @set.classify { |x| res << x } + res.should == ["one", "two", "three", "four"].sort + end - classified = enum.each { |x| x.length } - classified.should == { 3 => SortedSet["one", "two"], 4 => SortedSet["four"], 5 => SortedSet["three"] } - end + it "returns an Enumerator when passed no block" do + enum = @set.classify + enum.should be_an_instance_of(Enumerator) + + classified = enum.each { |x| x.length } + classified.should == { 3 => SortedSet["one", "two"], 4 => SortedSet["four"], 5 => SortedSet["three"] } + end - it "classifies the Objects in self based on the block's return value" do - classified = @set.classify { |x| x.length } - classified.should == { 3 => SortedSet["one", "two"], 4 => SortedSet["four"], 5 => SortedSet["three"] } + it "classifies the Objects in self based on the block's return value" do + classified = @set.classify { |x| x.length } + classified.should == { 3 => SortedSet["one", "two"], 4 => SortedSet["four"], 5 => SortedSet["three"] } + end end end diff --git a/spec/ruby/library/set/sortedset/clear_spec.rb b/spec/ruby/library/set/sortedset/clear_spec.rb index 11b5db2095..879aa824d8 100644 --- a/spec/ruby/library/set/sortedset/clear_spec.rb +++ b/spec/ruby/library/set/sortedset/clear_spec.rb @@ -1,17 +1,20 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#clear" do - before :each do - @set = SortedSet["one", "two", "three", "four"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "removes all elements from self" do - @set.clear - @set.should be_empty - end + describe "SortedSet#clear" do + before :each do + @set = SortedSet["one", "two", "three", "four"] + end + + it "removes all elements from self" do + @set.clear + @set.should be_empty + end - it "returns self" do - @set.clear.should equal(@set) + it "returns self" do + @set.clear.should equal(@set) + end end end diff --git a/spec/ruby/library/set/sortedset/collect_spec.rb b/spec/ruby/library/set/sortedset/collect_spec.rb index 21ead4fe55..0674f0d130 100644 --- a/spec/ruby/library/set/sortedset/collect_spec.rb +++ b/spec/ruby/library/set/sortedset/collect_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/collect' -describe "SortedSet#collect!" do - it_behaves_like :sorted_set_collect_bang, :collect! +ruby_version_is ""..."3.0" do + require 'set' + require_relative 'shared/collect' + + describe "SortedSet#collect!" do + it_behaves_like :sorted_set_collect_bang, :collect! + end end diff --git a/spec/ruby/library/set/sortedset/constructor_spec.rb b/spec/ruby/library/set/sortedset/constructor_spec.rb index 953144dbdb..31f30fd892 100644 --- a/spec/ruby/library/set/sortedset/constructor_spec.rb +++ b/spec/ruby/library/set/sortedset/constructor_spec.rb @@ -1,15 +1,18 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet[]" do - it "returns a new SortedSet populated with the passed Objects" do - set = SortedSet[1, 2, 3] +ruby_version_is ""..."3.0" do + require 'set' - set.instance_of?(SortedSet).should be_true - set.size.should eql(3) + describe "SortedSet[]" do + it "returns a new SortedSet populated with the passed Objects" do + set = SortedSet[1, 2, 3] - set.should include(1) - set.should include(2) - set.should include(3) + set.instance_of?(SortedSet).should be_true + set.size.should eql(3) + + set.should include(1) + set.should include(2) + set.should include(3) + end end end diff --git a/spec/ruby/library/set/sortedset/delete_if_spec.rb b/spec/ruby/library/set/sortedset/delete_if_spec.rb index 1ff689376a..787639ae12 100644 --- a/spec/ruby/library/set/sortedset/delete_if_spec.rb +++ b/spec/ruby/library/set/sortedset/delete_if_spec.rb @@ -1,38 +1,41 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#delete_if" do - before :each do - @set = SortedSet["one", "two", "three"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "yields each Object in self in sorted order" do - ret = [] - @set.delete_if { |x| ret << x } - ret.should == ["one", "two", "three"].sort - end + describe "SortedSet#delete_if" do + before :each do + @set = SortedSet["one", "two", "three"] + end - it "deletes every element from self for which the passed block returns true" do - @set.delete_if { |x| x.size == 3 } - @set.size.should eql(1) + it "yields each Object in self in sorted order" do + ret = [] + @set.delete_if { |x| ret << x } + ret.should == ["one", "two", "three"].sort + end - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end + it "deletes every element from self for which the passed block returns true" do + @set.delete_if { |x| x.size == 3 } + @set.size.should eql(1) - it "returns self" do - @set.delete_if { |x| x }.should equal(@set) - end + @set.should_not include("one") + @set.should_not include("two") + @set.should include("three") + end + + it "returns self" do + @set.delete_if { |x| x }.should equal(@set) + end - it "returns an Enumerator when passed no block" do - enum = @set.delete_if - enum.should be_an_instance_of(Enumerator) + it "returns an Enumerator when passed no block" do + enum = @set.delete_if + enum.should be_an_instance_of(Enumerator) - enum.each { |x| x.size == 3 } + enum.each { |x| x.size == 3 } - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") + @set.should_not include("one") + @set.should_not include("two") + @set.should include("three") + end end end diff --git a/spec/ruby/library/set/sortedset/delete_spec.rb b/spec/ruby/library/set/sortedset/delete_spec.rb index 71583c7f13..0e2a6accf3 100644 --- a/spec/ruby/library/set/sortedset/delete_spec.rb +++ b/spec/ruby/library/set/sortedset/delete_spec.rb @@ -1,37 +1,40 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#delete" do - before :each do - @set = SortedSet["a", "b", "c"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "deletes the passed Object from self" do - @set.delete("a") - @set.should_not include("a") - end + describe "SortedSet#delete" do + before :each do + @set = SortedSet["a", "b", "c"] + end - it "returns self" do - @set.delete("a").should equal(@set) - @set.delete("x").should equal(@set) - end -end + it "deletes the passed Object from self" do + @set.delete("a") + @set.should_not include("a") + end -describe "SortedSet#delete?" do - before :each do - @set = SortedSet["a", "b", "c"] + it "returns self" do + @set.delete("a").should equal(@set) + @set.delete("x").should equal(@set) + end end - it "deletes the passed Object from self" do - @set.delete?("a") - @set.should_not include("a") - end + describe "SortedSet#delete?" do + before :each do + @set = SortedSet["a", "b", "c"] + end - it "returns self when the passed Object is in self" do - @set.delete?("a").should equal(@set) - end + it "deletes the passed Object from self" do + @set.delete?("a") + @set.should_not include("a") + end + + it "returns self when the passed Object is in self" do + @set.delete?("a").should equal(@set) + end - it "returns nil when the passed Object is not in self" do - @set.delete?("x").should be_nil + it "returns nil when the passed Object is not in self" do + @set.delete?("x").should be_nil + end end end diff --git a/spec/ruby/library/set/sortedset/difference_spec.rb b/spec/ruby/library/set/sortedset/difference_spec.rb index c3d679aff8..fb064bdff9 100644 --- a/spec/ruby/library/set/sortedset/difference_spec.rb +++ b/spec/ruby/library/set/sortedset/difference_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/difference' -describe "SortedSet#difference" do - it_behaves_like :sorted_set_difference, :difference +ruby_version_is ""..."3.0" do + require 'set' + require_relative 'shared/difference' + + describe "SortedSet#difference" do + it_behaves_like :sorted_set_difference, :difference + end end diff --git a/spec/ruby/library/set/sortedset/divide_spec.rb b/spec/ruby/library/set/sortedset/divide_spec.rb index 4b2135a8c9..31ab6037e4 100644 --- a/spec/ruby/library/set/sortedset/divide_spec.rb +++ b/spec/ruby/library/set/sortedset/divide_spec.rb @@ -1,34 +1,37 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#divide" do - it "divides self into a set of subsets based on the blocks return values" do - set = SortedSet["one", "two", "three", "four", "five"].divide { |x| x.length } - set.map { |x| x.to_a }.to_a.sort.should == [["five", "four"], ["one", "two"], ["three"]] - end +ruby_version_is ""..."3.0" do + require 'set' - it "yields each Object in self in sorted order" do - ret = [] - SortedSet["one", "two", "three", "four", "five"].divide { |x| ret << x } - ret.should == ["one", "two", "three", "four", "five"].sort - end + describe "SortedSet#divide" do + it "divides self into a set of subsets based on the blocks return values" do + set = SortedSet["one", "two", "three", "four", "five"].divide { |x| x.length } + set.map { |x| x.to_a }.to_a.sort.should == [["five", "four"], ["one", "two"], ["three"]] + end - # BUG: Does not raise a LocalJumpError, but a NoMethodError - # - # it "raises a LocalJumpError when not passed a block" do - # lambda { SortedSet[1].divide }.should raise_error(LocalJumpError) - # end -end + it "yields each Object in self in sorted order" do + ret = [] + SortedSet["one", "two", "three", "four", "five"].divide { |x| ret << x } + ret.should == ["one", "two", "three", "four", "five"].sort + end -describe "SortedSet#divide when passed a block with an arity of 2" do - it "divides self into a set of subsets based on the blocks return values" do - set = SortedSet[1, 3, 4, 6, 9, 10, 11].divide { |x, y| (x - y).abs == 1 } - set.map { |x| x.to_a }.to_a.sort.should == [[1], [3, 4], [6], [9, 10, 11]] + # BUG: Does not raise a LocalJumpError, but a NoMethodError + # + # it "raises a LocalJumpError when not passed a block" do + # lambda { SortedSet[1].divide }.should raise_error(LocalJumpError) + # end end - it "yields each two Objects to the block" do - ret = [] - SortedSet[1, 2].divide { |x, y| ret << [x, y] } - ret.should == [[1, 1], [1, 2], [2, 1], [2, 2]] + describe "SortedSet#divide when passed a block with an arity of 2" do + it "divides self into a set of subsets based on the blocks return values" do + set = SortedSet[1, 3, 4, 6, 9, 10, 11].divide { |x, y| (x - y).abs == 1 } + set.map { |x| x.to_a }.to_a.sort.should == [[1], [3, 4], [6], [9, 10, 11]] + end + + it "yields each two Objects to the block" do + ret = [] + SortedSet[1, 2].divide { |x, y| ret << [x, y] } + ret.should == [[1, 1], [1, 2], [2, 1], [2, 2]] + end end end diff --git a/spec/ruby/library/set/sortedset/each_spec.rb b/spec/ruby/library/set/sortedset/each_spec.rb index bcf0d74d1f..79d8aee223 100644 --- a/spec/ruby/library/set/sortedset/each_spec.rb +++ b/spec/ruby/library/set/sortedset/each_spec.rb @@ -1,26 +1,29 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#each" do - before :each do - @set = SortedSet[1, 2, 3] - end +ruby_version_is ""..."3.0" do + require 'set' - it "yields each Object in self in sorted order" do - ret = [] - SortedSet["one", "two", "three"].each { |x| ret << x } - ret.should == ["one", "two", "three"].sort - end + describe "SortedSet#each" do + before :each do + @set = SortedSet[1, 2, 3] + end - it "returns self" do - @set.each { |x| x }.should equal(@set) - end + it "yields each Object in self in sorted order" do + ret = [] + SortedSet["one", "two", "three"].each { |x| ret << x } + ret.should == ["one", "two", "three"].sort + end + + it "returns self" do + @set.each { |x| x }.should equal(@set) + end - it "returns an Enumerator when not passed a block" do - enum = @set.each + it "returns an Enumerator when not passed a block" do + enum = @set.each - ret = [] - enum.each { |x| ret << x } - ret.sort.should == [1, 2, 3] + ret = [] + enum.each { |x| ret << x } + ret.sort.should == [1, 2, 3] + end end end diff --git a/spec/ruby/library/set/sortedset/empty_spec.rb b/spec/ruby/library/set/sortedset/empty_spec.rb index deb3b567fb..2e52c3e81a 100644 --- a/spec/ruby/library/set/sortedset/empty_spec.rb +++ b/spec/ruby/library/set/sortedset/empty_spec.rb @@ -1,10 +1,13 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#empty?" do - it "returns true if self is empty" do - SortedSet[].empty?.should be_true - SortedSet[1].empty?.should be_false - SortedSet[1,2,3].empty?.should be_false +ruby_version_is ""..."3.0" do + require 'set' + + describe "SortedSet#empty?" do + it "returns true if self is empty" do + SortedSet[].empty?.should be_true + SortedSet[1].empty?.should be_false + SortedSet[1,2,3].empty?.should be_false + end end end diff --git a/spec/ruby/library/set/sortedset/eql_spec.rb b/spec/ruby/library/set/sortedset/eql_spec.rb index b22858a362..050464994b 100644 --- a/spec/ruby/library/set/sortedset/eql_spec.rb +++ b/spec/ruby/library/set/sortedset/eql_spec.rb @@ -1,16 +1,19 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#eql?" do - it "returns true when the passed argument is a SortedSet and contains the same elements" do - SortedSet[].should eql(SortedSet[]) - SortedSet[1, 2, 3].should eql(SortedSet[1, 2, 3]) - SortedSet[1, 2, 3].should eql(SortedSet[3, 2, 1]) +ruby_version_is ""..."3.0" do + require 'set' -# SortedSet["a", :b, ?c].should eql(SortedSet[?c, :b, "a"]) + describe "SortedSet#eql?" do + it "returns true when the passed argument is a SortedSet and contains the same elements" do + SortedSet[].should eql(SortedSet[]) + SortedSet[1, 2, 3].should eql(SortedSet[1, 2, 3]) + SortedSet[1, 2, 3].should eql(SortedSet[3, 2, 1]) - SortedSet[1, 2, 3].should_not eql(SortedSet[1.0, 2, 3]) - SortedSet[1, 2, 3].should_not eql(SortedSet[2, 3]) - SortedSet[1, 2, 3].should_not eql(SortedSet[]) + # SortedSet["a", :b, ?c].should eql(SortedSet[?c, :b, "a"]) + + SortedSet[1, 2, 3].should_not eql(SortedSet[1.0, 2, 3]) + SortedSet[1, 2, 3].should_not eql(SortedSet[2, 3]) + SortedSet[1, 2, 3].should_not eql(SortedSet[]) + end end end diff --git a/spec/ruby/library/set/sortedset/equal_value_spec.rb b/spec/ruby/library/set/sortedset/equal_value_spec.rb index cb1b7c9443..30422f5b95 100644 --- a/spec/ruby/library/set/sortedset/equal_value_spec.rb +++ b/spec/ruby/library/set/sortedset/equal_value_spec.rb @@ -1,13 +1,16 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#==" do - it "returns true when the passed Object is a SortedSet and self and the Object contain the same elements" do - SortedSet[].should == SortedSet[] - SortedSet[1, 2, 3].should == SortedSet[1, 2, 3] - SortedSet["1", "2", "3"].should == SortedSet["1", "2", "3"] +ruby_version_is ""..."3.0" do + require 'set' - SortedSet[1, 2, 3].should_not == SortedSet[1.0, 2, 3] - SortedSet[1, 2, 3].should_not == [1, 2, 3] + describe "SortedSet#==" do + it "returns true when the passed Object is a SortedSet and self and the Object contain the same elements" do + SortedSet[].should == SortedSet[] + SortedSet[1, 2, 3].should == SortedSet[1, 2, 3] + SortedSet["1", "2", "3"].should == SortedSet["1", "2", "3"] + + SortedSet[1, 2, 3].should_not == SortedSet[1.0, 2, 3] + SortedSet[1, 2, 3].should_not == [1, 2, 3] + end end end diff --git a/spec/ruby/library/set/sortedset/exclusion_spec.rb b/spec/ruby/library/set/sortedset/exclusion_spec.rb index d0f1ab95cb..1967dfbfa6 100644 --- a/spec/ruby/library/set/sortedset/exclusion_spec.rb +++ b/spec/ruby/library/set/sortedset/exclusion_spec.rb @@ -1,18 +1,21 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#^" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end +ruby_version_is ""..."3.0" do + require 'set' - it "returns a new SortedSet containing elements that are not in both self and the passed Enumerable" do - (@set ^ SortedSet[3, 4, 5]).should == SortedSet[1, 2, 5] - (@set ^ [3, 4, 5]).should == SortedSet[1, 2, 5] - end + describe "SortedSet#^" do + before :each do + @set = SortedSet[1, 2, 3, 4] + end + + it "returns a new SortedSet containing elements that are not in both self and the passed Enumerable" do + (@set ^ SortedSet[3, 4, 5]).should == SortedSet[1, 2, 5] + (@set ^ [3, 4, 5]).should == SortedSet[1, 2, 5] + end - it "raises an ArgumentError when passed a non-Enumerable" do - -> { @set ^ 3 }.should raise_error(ArgumentError) - -> { @set ^ Object.new }.should raise_error(ArgumentError) + it "raises an ArgumentError when passed a non-Enumerable" do + -> { @set ^ 3 }.should raise_error(ArgumentError) + -> { @set ^ Object.new }.should raise_error(ArgumentError) + end end end diff --git a/spec/ruby/library/set/sortedset/filter_spec.rb b/spec/ruby/library/set/sortedset/filter_spec.rb index cfaa8b2729..c6d881de67 100644 --- a/spec/ruby/library/set/sortedset/filter_spec.rb +++ b/spec/ruby/library/set/sortedset/filter_spec.rb @@ -1,9 +1,12 @@ require_relative '../../../spec_helper' -require_relative 'shared/select' -require 'set' -ruby_version_is "2.6" do - describe "SortedSet#filter!" do - it_behaves_like :sorted_set_select_bang, :filter! +ruby_version_is ""..."3.0" do + require_relative 'shared/select' + require 'set' + + ruby_version_is "2.6" do + describe "SortedSet#filter!" do + it_behaves_like :sorted_set_select_bang, :filter! + end end end diff --git a/spec/ruby/library/set/sortedset/flatten_merge_spec.rb b/spec/ruby/library/set/sortedset/flatten_merge_spec.rb index 9a8ed13f00..0d67cb331e 100644 --- a/spec/ruby/library/set/sortedset/flatten_merge_spec.rb +++ b/spec/ruby/library/set/sortedset/flatten_merge_spec.rb @@ -1,8 +1,11 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#flatten_merge" do - it "is protected" do - SortedSet.should have_protected_instance_method("flatten_merge") +ruby_version_is ""..."3.0" do + require 'set' + + describe "SortedSet#flatten_merge" do + it "is protected" do + SortedSet.should have_protected_instance_method("flatten_merge") + end end end diff --git a/spec/ruby/library/set/sortedset/flatten_spec.rb b/spec/ruby/library/set/sortedset/flatten_spec.rb index ca4e4637e6..e83ad1044a 100644 --- a/spec/ruby/library/set/sortedset/flatten_spec.rb +++ b/spec/ruby/library/set/sortedset/flatten_spec.rb @@ -1,44 +1,47 @@ require_relative '../../../spec_helper' -require 'set' -# Note: Flatten make little sens on sorted sets, because SortedSets are not (by default) -# comparable. For a SortedSet to be both valid and nested, we need to define a comparison operator: -module SortedSet_FlattenSpecs - class ComparableSortedSet < SortedSet - def <=>(other) - return puts "#{other} vs #{self}" unless other.is_a?(ComparableSortedSet) - to_a <=> other.to_a +ruby_version_is ""..."3.0" do + require 'set' + + # Note: Flatten make little sens on sorted sets, because SortedSets are not (by default) + # comparable. For a SortedSet to be both valid and nested, we need to define a comparison operator: + module SortedSet_FlattenSpecs + class ComparableSortedSet < SortedSet + def <=>(other) + return puts "#{other} vs #{self}" unless other.is_a?(ComparableSortedSet) + to_a <=> other.to_a + end end end -end -describe "SortedSet#flatten" do - it "returns a copy of self with each included SortedSet flattened" do - klass = SortedSet_FlattenSpecs::ComparableSortedSet - set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]] - flattened_set = set.flatten + describe "SortedSet#flatten" do + it "returns a copy of self with each included SortedSet flattened" do + klass = SortedSet_FlattenSpecs::ComparableSortedSet + set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]] + flattened_set = set.flatten - flattened_set.should_not equal(set) - flattened_set.should == klass[1, 2, 3, 4, 5, 6, 7, 8] + flattened_set.should_not equal(set) + flattened_set.should == klass[1, 2, 3, 4, 5, 6, 7, 8] + end end -end -describe "SortedSet#flatten!" do - it "flattens self" do - klass = SortedSet_FlattenSpecs::ComparableSortedSet - set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]] - set.flatten! - set.should == klass[1, 2, 3, 4, 5, 6, 7, 8] - end + describe "SortedSet#flatten!" do + it "flattens self" do + klass = SortedSet_FlattenSpecs::ComparableSortedSet + set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]] + set.flatten! + set.should == klass[1, 2, 3, 4, 5, 6, 7, 8] + end - it "returns self when self was modified" do - klass = SortedSet_FlattenSpecs::ComparableSortedSet - set = klass[klass[1,2], klass[3,4]] - set.flatten!.should equal(set) - end + it "returns self when self was modified" do + klass = SortedSet_FlattenSpecs::ComparableSortedSet + set = klass[klass[1,2], klass[3,4]] + set.flatten!.should equal(set) + end - it "returns nil when self was not modified" do - set = SortedSet[1, 2, 3, 4] - set.flatten!.should be_nil + it "returns nil when self was not modified" do + set = SortedSet[1, 2, 3, 4] + set.flatten!.should be_nil + end end end diff --git a/spec/ruby/library/set/sortedset/hash_spec.rb b/spec/ruby/library/set/sortedset/hash_spec.rb index 7833c68a10..40676de7fc 100644 --- a/spec/ruby/library/set/sortedset/hash_spec.rb +++ b/spec/ruby/library/set/sortedset/hash_spec.rb @@ -1,13 +1,16 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#hash" do - it "is static" do - SortedSet[].hash.should == SortedSet[].hash - SortedSet[1, 2, 3].hash.should == SortedSet[1, 2, 3].hash - SortedSet["a", "b", "c"].hash.should == SortedSet["c", "b", "a"].hash +ruby_version_is ""..."3.0" do + require 'set' - SortedSet[].hash.should_not == SortedSet[1, 2, 3].hash - SortedSet[1, 2, 3].hash.should_not == SortedSet["a", "b", "c"].hash + describe "SortedSet#hash" do + it "is static" do + SortedSet[].hash.should == SortedSet[].hash + SortedSet[1, 2, 3].hash.should == SortedSet[1, 2, 3].hash + SortedSet["a", "b", "c"].hash.should == SortedSet["c", "b", "a"].hash + + SortedSet[].hash.should_not == SortedSet[1, 2, 3].hash + SortedSet[1, 2, 3].hash.should_not == SortedSet["a", "b", "c"].hash + end end end diff --git a/spec/ruby/library/set/sortedset/include_spec.rb b/spec/ruby/library/set/sortedset/include_spec.rb index 030a9e146a..ec2ad987d5 100644 --- a/spec/ruby/library/set/sortedset/include_spec.rb +++ b/spec/ruby/library/set/sortedset/include_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require_relative 'shared/include' -require 'set' -describe "SortedSet#include?" do - it_behaves_like :sorted_set_include, :include? +ruby_version_is ""..."3.0" do + require_relative 'shared/include' + require 'set' + + describe "SortedSet#include?" do + it_behaves_like :sorted_set_include, :include? + end end diff --git a/spec/ruby/library/set/sortedset/initialize_spec.rb b/spec/ruby/library/set/sortedset/initialize_spec.rb index 1238f4efc4..4d1707b72a 100644 --- a/spec/ruby/library/set/sortedset/initialize_spec.rb +++ b/spec/ruby/library/set/sortedset/initialize_spec.rb @@ -1,30 +1,33 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#initialize" do - it "is private" do - SortedSet.should have_private_instance_method("initialize") - end +ruby_version_is ""..."3.0" do + require 'set' - it "adds all elements of the passed Enumerable to self" do - s = SortedSet.new([1, 2, 3]) - s.size.should eql(3) - s.should include(1) - s.should include(2) - s.should include(3) - end + describe "SortedSet#initialize" do + it "is private" do + SortedSet.should have_private_instance_method("initialize") + end - it "preprocesses all elements by a passed block before adding to self" do - s = SortedSet.new([1, 2, 3]) { |x| x * x } - s.size.should eql(3) - s.should include(1) - s.should include(4) - s.should include(9) - end + it "adds all elements of the passed Enumerable to self" do + s = SortedSet.new([1, 2, 3]) + s.size.should eql(3) + s.should include(1) + s.should include(2) + s.should include(3) + end + + it "preprocesses all elements by a passed block before adding to self" do + s = SortedSet.new([1, 2, 3]) { |x| x * x } + s.size.should eql(3) + s.should include(1) + s.should include(4) + s.should include(9) + end - 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.new(['00', nil]).to_a }.should raise_error(ArgumentError) + 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.new(['00', nil]).to_a }.should raise_error(ArgumentError) + end end end diff --git a/spec/ruby/library/set/sortedset/inspect_spec.rb b/spec/ruby/library/set/sortedset/inspect_spec.rb index 7103bee3f5..1c4dd9e6e2 100644 --- a/spec/ruby/library/set/sortedset/inspect_spec.rb +++ b/spec/ruby/library/set/sortedset/inspect_spec.rb @@ -1,10 +1,13 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#inspect" do - it "returns a String representation of self" do - SortedSet[].inspect.should be_kind_of(String) - SortedSet[1, 2, 3].inspect.should be_kind_of(String) - SortedSet["1", "2", "3"].inspect.should be_kind_of(String) +ruby_version_is ""..."3.0" do + require 'set' + + describe "SortedSet#inspect" do + it "returns a String representation of self" do + SortedSet[].inspect.should be_kind_of(String) + SortedSet[1, 2, 3].inspect.should be_kind_of(String) + SortedSet["1", "2", "3"].inspect.should be_kind_of(String) + end end end diff --git a/spec/ruby/library/set/sortedset/intersection_spec.rb b/spec/ruby/library/set/sortedset/intersection_spec.rb index 6ff9c80ce1..6daa271b73 100644 --- a/spec/ruby/library/set/sortedset/intersection_spec.rb +++ b/spec/ruby/library/set/sortedset/intersection_spec.rb @@ -1,11 +1,14 @@ require_relative '../../../spec_helper' -require_relative 'shared/intersection' -require 'set' -describe "SortedSet#intersection" do - it_behaves_like :sorted_set_intersection, :intersection -end +ruby_version_is ""..."3.0" do + require_relative 'shared/intersection' + require 'set' + + describe "SortedSet#intersection" do + it_behaves_like :sorted_set_intersection, :intersection + end -describe "SortedSet#&" do - it_behaves_like :sorted_set_intersection, :& + describe "SortedSet#&" do + it_behaves_like :sorted_set_intersection, :& + end end diff --git a/spec/ruby/library/set/sortedset/keep_if_spec.rb b/spec/ruby/library/set/sortedset/keep_if_spec.rb index 2235eb3766..3e5f3bbc47 100644 --- a/spec/ruby/library/set/sortedset/keep_if_spec.rb +++ b/spec/ruby/library/set/sortedset/keep_if_spec.rb @@ -1,31 +1,34 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#keep_if" do - before :each do - @set = SortedSet["one", "two", "three"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "yields each Object in self in sorted order" do - ret = [] - @set.keep_if { |x| ret << x } - ret.should == ["one", "two", "three"].sort - end + describe "SortedSet#keep_if" do + before :each do + @set = SortedSet["one", "two", "three"] + end - it "keeps every element from self for which the passed block returns true" do - @set.keep_if { |x| x.size != 3 } - @set.to_a.should == ["three"] - end + it "yields each Object in self in sorted order" do + ret = [] + @set.keep_if { |x| ret << x } + ret.should == ["one", "two", "three"].sort + end - it "returns self" do - @set.keep_if {}.should equal(@set) - end + it "keeps every element from self for which the passed block returns true" do + @set.keep_if { |x| x.size != 3 } + @set.to_a.should == ["three"] + end + + it "returns self" do + @set.keep_if {}.should equal(@set) + end - it "returns an Enumerator when passed no block" do - enum = @set.keep_if - enum.should be_an_instance_of(Enumerator) + it "returns an Enumerator when passed no block" do + enum = @set.keep_if + enum.should be_an_instance_of(Enumerator) - enum.each { |x| x.size != 3 } - @set.to_a.should == ["three"] + enum.each { |x| x.size != 3 } + @set.to_a.should == ["three"] + end end end diff --git a/spec/ruby/library/set/sortedset/length_spec.rb b/spec/ruby/library/set/sortedset/length_spec.rb index 5f138dd6f7..de6791f6bb 100644 --- a/spec/ruby/library/set/sortedset/length_spec.rb +++ b/spec/ruby/library/set/sortedset/length_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require_relative 'shared/length' -require 'set' -describe "SortedSet#length" do - it_behaves_like :sorted_set_length, :length +ruby_version_is ""..."3.0" do + require_relative 'shared/length' + require 'set' + + describe "SortedSet#length" do + it_behaves_like :sorted_set_length, :length + end end diff --git a/spec/ruby/library/set/sortedset/map_spec.rb b/spec/ruby/library/set/sortedset/map_spec.rb index 1d7b5954e5..4971b9529b 100644 --- a/spec/ruby/library/set/sortedset/map_spec.rb +++ b/spec/ruby/library/set/sortedset/map_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/collect' -describe "SortedSet#map!" do - it_behaves_like :sorted_set_collect_bang, :map! +ruby_version_is ""..."3.0" do + require 'set' + require_relative 'shared/collect' + + describe "SortedSet#map!" do + it_behaves_like :sorted_set_collect_bang, :map! + end end diff --git a/spec/ruby/library/set/sortedset/member_spec.rb b/spec/ruby/library/set/sortedset/member_spec.rb index d6005557ab..142b09b651 100644 --- a/spec/ruby/library/set/sortedset/member_spec.rb +++ b/spec/ruby/library/set/sortedset/member_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require_relative 'shared/include' -require 'set' -describe "SortedSet#member?" do - it_behaves_like :sorted_set_include, :member? +ruby_version_is ""..."3.0" do + require_relative 'shared/include' + require 'set' + + describe "SortedSet#member?" do + it_behaves_like :sorted_set_include, :member? + end end diff --git a/spec/ruby/library/set/sortedset/merge_spec.rb b/spec/ruby/library/set/sortedset/merge_spec.rb index 31570ad4db..c4cbc6d2b4 100644 --- a/spec/ruby/library/set/sortedset/merge_spec.rb +++ b/spec/ruby/library/set/sortedset/merge_spec.rb @@ -1,19 +1,22 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#merge" do - it "adds the elements of the passed Enumerable to self" do - SortedSet["a", "b"].merge(SortedSet["b", "c", "d"]).should == SortedSet["a", "b", "c", "d"] - SortedSet[1, 2].merge([3, 4]).should == SortedSet[1, 2, 3, 4] - end +ruby_version_is ""..."3.0" do + require 'set' - it "returns self" do - set = SortedSet[1, 2] - set.merge([3, 4]).should equal(set) - end + describe "SortedSet#merge" do + it "adds the elements of the passed Enumerable to self" do + SortedSet["a", "b"].merge(SortedSet["b", "c", "d"]).should == SortedSet["a", "b", "c", "d"] + SortedSet[1, 2].merge([3, 4]).should == SortedSet[1, 2, 3, 4] + end + + it "returns self" do + set = SortedSet[1, 2] + set.merge([3, 4]).should equal(set) + end - it "raises an ArgumentError when passed a non-Enumerable" do - -> { SortedSet[1, 2].merge(1) }.should raise_error(ArgumentError) - -> { SortedSet[1, 2].merge(Object.new) }.should raise_error(ArgumentError) + it "raises an ArgumentError when passed a non-Enumerable" do + -> { SortedSet[1, 2].merge(1) }.should raise_error(ArgumentError) + -> { SortedSet[1, 2].merge(Object.new) }.should raise_error(ArgumentError) + end end end diff --git a/spec/ruby/library/set/sortedset/minus_spec.rb b/spec/ruby/library/set/sortedset/minus_spec.rb index ffb8ee85d1..d6abc5e204 100644 --- a/spec/ruby/library/set/sortedset/minus_spec.rb +++ b/spec/ruby/library/set/sortedset/minus_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/difference' -describe "SortedSet#-" do - it_behaves_like :sorted_set_difference, :- +ruby_version_is ""..."3.0" do + require 'set' + require_relative 'shared/difference' + + describe "SortedSet#-" do + it_behaves_like :sorted_set_difference, :- + end end diff --git a/spec/ruby/library/set/sortedset/plus_spec.rb b/spec/ruby/library/set/sortedset/plus_spec.rb index 355c775d7e..13fc873ad1 100644 --- a/spec/ruby/library/set/sortedset/plus_spec.rb +++ b/spec/ruby/library/set/sortedset/plus_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require_relative 'shared/union' -require 'set' -describe "SortedSet#+" do - it_behaves_like :sorted_set_union, :+ +ruby_version_is ""..."3.0" do + require_relative 'shared/union' + require 'set' + + describe "SortedSet#+" do + it_behaves_like :sorted_set_union, :+ + end end diff --git a/spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb b/spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb index fe15f1bf7d..e97f509406 100644 --- a/spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb +++ b/spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb @@ -1,10 +1,13 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#pretty_print_cycle" do - it "passes the 'pretty print' representation of a self-referencing SortedSet to the pretty print writer" do - pp = mock("PrettyPrint") - pp.should_receive(:text).with("#") - SortedSet[1, 2, 3].pretty_print_cycle(pp) +ruby_version_is ""..."3.0" do + require 'set' + + describe "SortedSet#pretty_print_cycle" do + it "passes the 'pretty print' representation of a self-referencing SortedSet to the pretty print writer" do + pp = mock("PrettyPrint") + pp.should_receive(:text).with("#") + SortedSet[1, 2, 3].pretty_print_cycle(pp) + end end end diff --git a/spec/ruby/library/set/sortedset/pretty_print_spec.rb b/spec/ruby/library/set/sortedset/pretty_print_spec.rb index 601ff4d182..a8088bf797 100644 --- a/spec/ruby/library/set/sortedset/pretty_print_spec.rb +++ b/spec/ruby/library/set/sortedset/pretty_print_spec.rb @@ -1,17 +1,20 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#pretty_print" do - it "passes the 'pretty print' representation of self to the pretty print writer" do - pp = mock("PrettyPrint") - set = SortedSet[1, 2, 3] +ruby_version_is ""..."3.0" do + require 'set' - pp.should_receive(:text).with("#") + describe "SortedSet#pretty_print" do + it "passes the 'pretty print' representation of self to the pretty print writer" do + pp = mock("PrettyPrint") + set = SortedSet[1, 2, 3] - pp.should_receive(:nest).with(1).and_yield - pp.should_receive(:seplist).with(set) + pp.should_receive(:text).with("#") - set.pretty_print(pp) + pp.should_receive(:nest).with(1).and_yield + pp.should_receive(:seplist).with(set) + + set.pretty_print(pp) + end end end diff --git a/spec/ruby/library/set/sortedset/proper_subset_spec.rb b/spec/ruby/library/set/sortedset/proper_subset_spec.rb index 818173a7f9..34fb89d13d 100644 --- a/spec/ruby/library/set/sortedset/proper_subset_spec.rb +++ b/spec/ruby/library/set/sortedset/proper_subset_spec.rb @@ -1,33 +1,36 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#proper_subset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end +ruby_version_is ""..."3.0" do + require 'set' - it "returns true if passed a SortedSet that self is a proper subset of" do - SortedSet[].proper_subset?(@set).should be_true - SortedSet[].proper_subset?(SortedSet[1, 2, 3]).should be_true - SortedSet[].proper_subset?(SortedSet["a", "b", "c"]).should be_true + describe "SortedSet#proper_subset?" do + before :each do + @set = SortedSet[1, 2, 3, 4] + end - SortedSet[1, 2, 3].proper_subset?(@set).should be_true - SortedSet[1, 3].proper_subset?(@set).should be_true - SortedSet[1, 2].proper_subset?(@set).should be_true - SortedSet[1].proper_subset?(@set).should be_true + it "returns true if passed a SortedSet that self is a proper subset of" do + SortedSet[].proper_subset?(@set).should be_true + SortedSet[].proper_subset?(SortedSet[1, 2, 3]).should be_true + SortedSet[].proper_subset?(SortedSet["a", "b", "c"]).should be_true - SortedSet[5].proper_subset?(@set).should be_false - SortedSet[1, 5].proper_subset?(@set).should be_false - SortedSet["test"].proper_subset?(@set).should be_false + SortedSet[1, 2, 3].proper_subset?(@set).should be_true + SortedSet[1, 3].proper_subset?(@set).should be_true + SortedSet[1, 2].proper_subset?(@set).should be_true + SortedSet[1].proper_subset?(@set).should be_true - @set.proper_subset?(@set).should be_false - SortedSet[].proper_subset?(SortedSet[]).should be_false - end + SortedSet[5].proper_subset?(@set).should be_false + SortedSet[1, 5].proper_subset?(@set).should be_false + SortedSet["test"].proper_subset?(@set).should be_false + + @set.proper_subset?(@set).should be_false + SortedSet[].proper_subset?(SortedSet[]).should be_false + end - it "raises an ArgumentError when passed a non-SortedSet" do - -> { SortedSet[].proper_subset?([]) }.should raise_error(ArgumentError) - -> { SortedSet[].proper_subset?(1) }.should raise_error(ArgumentError) - -> { SortedSet[].proper_subset?("test") }.should raise_error(ArgumentError) - -> { SortedSet[].proper_subset?(Object.new) }.should raise_error(ArgumentError) + it "raises an ArgumentError when passed a non-SortedSet" do + -> { SortedSet[].proper_subset?([]) }.should raise_error(ArgumentError) + -> { SortedSet[].proper_subset?(1) }.should raise_error(ArgumentError) + -> { SortedSet[].proper_subset?("test") }.should raise_error(ArgumentError) + -> { SortedSet[].proper_subset?(Object.new) }.should raise_error(ArgumentError) + end end end diff --git a/spec/ruby/library/set/sortedset/proper_superset_spec.rb b/spec/ruby/library/set/sortedset/proper_superset_spec.rb index 2699290f0e..8b92444f72 100644 --- a/spec/ruby/library/set/sortedset/proper_superset_spec.rb +++ b/spec/ruby/library/set/sortedset/proper_superset_spec.rb @@ -1,33 +1,36 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#proper_superset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end +ruby_version_is ""..."3.0" do + require 'set' - it "returns true if passed a SortedSet that self is a proper superset of" do - @set.proper_superset?(SortedSet[]).should be_true - SortedSet[1, 2, 3].proper_superset?(SortedSet[]).should be_true - SortedSet["a", "b", "c"].proper_superset?(SortedSet[]).should be_true + describe "SortedSet#proper_superset?" do + before :each do + @set = SortedSet[1, 2, 3, 4] + end - @set.proper_superset?(SortedSet[1, 2, 3]).should be_true - @set.proper_superset?(SortedSet[1, 3]).should be_true - @set.proper_superset?(SortedSet[1, 2]).should be_true - @set.proper_superset?(SortedSet[1]).should be_true + it "returns true if passed a SortedSet that self is a proper superset of" do + @set.proper_superset?(SortedSet[]).should be_true + SortedSet[1, 2, 3].proper_superset?(SortedSet[]).should be_true + SortedSet["a", "b", "c"].proper_superset?(SortedSet[]).should be_true - @set.proper_superset?(SortedSet[5]).should be_false - @set.proper_superset?(SortedSet[1, 5]).should be_false - @set.proper_superset?(SortedSet["test"]).should be_false + @set.proper_superset?(SortedSet[1, 2, 3]).should be_true + @set.proper_superset?(SortedSet[1, 3]).should be_true + @set.proper_superset?(SortedSet[1, 2]).should be_true + @set.proper_superset?(SortedSet[1]).should be_true - @set.proper_superset?(@set).should be_false - SortedSet[].proper_superset?(SortedSet[]).should be_false - end + @set.proper_superset?(SortedSet[5]).should be_false + @set.proper_superset?(SortedSet[1, 5]).should be_false + @set.proper_superset?(SortedSet["test"]).should be_false + + @set.proper_superset?(@set).should be_false + SortedSet[].proper_superset?(SortedSet[]).should be_false + end - it "raises an ArgumentError when passed a non-SortedSet" do - -> { SortedSet[].proper_superset?([]) }.should raise_error(ArgumentError) - -> { SortedSet[].proper_superset?(1) }.should raise_error(ArgumentError) - -> { SortedSet[].proper_superset?("test") }.should raise_error(ArgumentError) - -> { SortedSet[].proper_superset?(Object.new) }.should raise_error(ArgumentError) + it "raises an ArgumentError when passed a non-SortedSet" do + -> { SortedSet[].proper_superset?([]) }.should raise_error(ArgumentError) + -> { SortedSet[].proper_superset?(1) }.should raise_error(ArgumentError) + -> { SortedSet[].proper_superset?("test") }.should raise_error(ArgumentError) + -> { SortedSet[].proper_superset?(Object.new) }.should raise_error(ArgumentError) + end end end diff --git a/spec/ruby/library/set/sortedset/reject_spec.rb b/spec/ruby/library/set/sortedset/reject_spec.rb index da2a76e7a7..396b864cc5 100644 --- a/spec/ruby/library/set/sortedset/reject_spec.rb +++ b/spec/ruby/library/set/sortedset/reject_spec.rb @@ -1,42 +1,45 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#reject!" do - before :each do - @set = SortedSet["one", "two", "three"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "yields each Object in self in sorted order" do - res = [] - @set.reject! { |x| res << x } - res.should == ["one", "two", "three"].sort - end + describe "SortedSet#reject!" do + before :each do + @set = SortedSet["one", "two", "three"] + end - it "deletes every element from self for which the passed block returns true" do - @set.reject! { |x| x.size == 3 } - @set.size.should eql(1) + it "yields each Object in self in sorted order" do + res = [] + @set.reject! { |x| res << x } + res.should == ["one", "two", "three"].sort + end - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end + it "deletes every element from self for which the passed block returns true" do + @set.reject! { |x| x.size == 3 } + @set.size.should eql(1) - it "returns self when self was modified" do - @set.reject! { |x| true }.should equal(@set) - end + @set.should_not include("one") + @set.should_not include("two") + @set.should include("three") + end - it "returns nil when self was not modified" do - @set.reject! { |x| false }.should be_nil - end + it "returns self when self was modified" do + @set.reject! { |x| true }.should equal(@set) + end + + it "returns nil when self was not modified" do + @set.reject! { |x| false }.should be_nil + end - it "returns an Enumerator when passed no block" do - enum = @set.reject! - enum.should be_an_instance_of(Enumerator) + it "returns an Enumerator when passed no block" do + enum = @set.reject! + enum.should be_an_instance_of(Enumerator) - enum.each { |x| x.size == 3 } + enum.each { |x| x.size == 3 } - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") + @set.should_not include("one") + @set.should_not include("two") + @set.should include("three") + end end end diff --git a/spec/ruby/library/set/sortedset/replace_spec.rb b/spec/ruby/library/set/sortedset/replace_spec.rb index 2a7fa73efb..2900221c01 100644 --- a/spec/ruby/library/set/sortedset/replace_spec.rb +++ b/spec/ruby/library/set/sortedset/replace_spec.rb @@ -1,17 +1,20 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#replace" do - before :each do - @set = SortedSet["a", "b", "c"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "replaces the contents with other and returns self" do - @set.replace(SortedSet[1, 2, 3]).should == @set - @set.should == SortedSet[1, 2, 3] - end + describe "SortedSet#replace" do + before :each do + @set = SortedSet["a", "b", "c"] + end + + it "replaces the contents with other and returns self" do + @set.replace(SortedSet[1, 2, 3]).should == @set + @set.should == SortedSet[1, 2, 3] + end - it "accepts any enumerable as other" do - @set.replace([1, 2, 3]).should == SortedSet[1, 2, 3] + it "accepts any enumerable as other" do + @set.replace([1, 2, 3]).should == SortedSet[1, 2, 3] + end end end diff --git a/spec/ruby/library/set/sortedset/select_spec.rb b/spec/ruby/library/set/sortedset/select_spec.rb index 68326cd02c..fc4c15ee4d 100644 --- a/spec/ruby/library/set/sortedset/select_spec.rb +++ b/spec/ruby/library/set/sortedset/select_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require_relative 'shared/select' -require 'set' -describe "SortedSet#select!" do - it_behaves_like :sorted_set_select_bang, :select! +ruby_version_is ""..."3.0" do + require_relative 'shared/select' + require 'set' + + describe "SortedSet#select!" do + it_behaves_like :sorted_set_select_bang, :select! + end end diff --git a/spec/ruby/library/set/sortedset/size_spec.rb b/spec/ruby/library/set/sortedset/size_spec.rb index 13e5085b0c..d908b33b53 100644 --- a/spec/ruby/library/set/sortedset/size_spec.rb +++ b/spec/ruby/library/set/sortedset/size_spec.rb @@ -1,7 +1,10 @@ require_relative '../../../spec_helper' -require_relative 'shared/length' -require 'set' -describe "SortedSet#size" do - it_behaves_like :sorted_set_length, :size +ruby_version_is ""..."3.0" do + require_relative 'shared/length' + require 'set' + + describe "SortedSet#size" do + it_behaves_like :sorted_set_length, :size + end end diff --git a/spec/ruby/library/set/sortedset/subset_spec.rb b/spec/ruby/library/set/sortedset/subset_spec.rb index 7768692df6..272e3f985e 100644 --- a/spec/ruby/library/set/sortedset/subset_spec.rb +++ b/spec/ruby/library/set/sortedset/subset_spec.rb @@ -1,33 +1,36 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#subset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end +ruby_version_is ""..."3.0" do + require 'set' - it "returns true if passed a SortedSet that is equal to self or self is a subset of" do - @set.subset?(@set).should be_true - SortedSet[].subset?(SortedSet[]).should be_true + describe "SortedSet#subset?" do + before :each do + @set = SortedSet[1, 2, 3, 4] + end - SortedSet[].subset?(@set).should be_true - SortedSet[].subset?(SortedSet[1, 2, 3]).should be_true - SortedSet[].subset?(SortedSet["a", "b", "c"]).should be_true + it "returns true if passed a SortedSet that is equal to self or self is a subset of" do + @set.subset?(@set).should be_true + SortedSet[].subset?(SortedSet[]).should be_true - SortedSet[1, 2, 3].subset?(@set).should be_true - SortedSet[1, 3].subset?(@set).should be_true - SortedSet[1, 2].subset?(@set).should be_true - SortedSet[1].subset?(@set).should be_true + SortedSet[].subset?(@set).should be_true + SortedSet[].subset?(SortedSet[1, 2, 3]).should be_true + SortedSet[].subset?(SortedSet["a", "b", "c"]).should be_true - SortedSet[5].subset?(@set).should be_false - SortedSet[1, 5].subset?(@set).should be_false - SortedSet["test"].subset?(@set).should be_false - end + SortedSet[1, 2, 3].subset?(@set).should be_true + SortedSet[1, 3].subset?(@set).should be_true + SortedSet[1, 2].subset?(@set).should be_true + SortedSet[1].subset?(@set).should be_true + + SortedSet[5].subset?(@set).should be_false + SortedSet[1, 5].subset?(@set).should be_false + SortedSet["test"].subset?(@set).should be_false + end - it "raises an ArgumentError when passed a non-SortedSet" do - -> { SortedSet[].subset?([]) }.should raise_error(ArgumentError) - -> { SortedSet[].subset?(1) }.should raise_error(ArgumentError) - -> { SortedSet[].subset?("test") }.should raise_error(ArgumentError) - -> { SortedSet[].subset?(Object.new) }.should raise_error(ArgumentError) + it "raises an ArgumentError when passed a non-SortedSet" do + -> { SortedSet[].subset?([]) }.should raise_error(ArgumentError) + -> { SortedSet[].subset?(1) }.should raise_error(ArgumentError) + -> { SortedSet[].subset?("test") }.should raise_error(ArgumentError) + -> { SortedSet[].subset?(Object.new) }.should raise_error(ArgumentError) + end end end diff --git a/spec/ruby/library/set/sortedset/subtract_spec.rb b/spec/ruby/library/set/sortedset/subtract_spec.rb index 64d66c3688..b2af127f89 100644 --- a/spec/ruby/library/set/sortedset/subtract_spec.rb +++ b/spec/ruby/library/set/sortedset/subtract_spec.rb @@ -1,17 +1,20 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#subtract" do - before :each do - @set = SortedSet["a", "b", "c"] - end +ruby_version_is ""..."3.0" do + require 'set' - it "deletes any elements contained in other and returns self" do - @set.subtract(SortedSet["b", "c"]).should == @set - @set.should == SortedSet["a"] - end + describe "SortedSet#subtract" do + before :each do + @set = SortedSet["a", "b", "c"] + end + + it "deletes any elements contained in other and returns self" do + @set.subtract(SortedSet["b", "c"]).should == @set + @set.should == SortedSet["a"] + end - it "accepts any enumerable as other" do - @set.subtract(["c"]).should == SortedSet["a", "b"] + it "accepts any enumerable as other" do + @set.subtract(["c"]).should == SortedSet["a", "b"] + end end end diff --git a/spec/ruby/library/set/sortedset/superset_spec.rb b/spec/ruby/library/set/sortedset/superset_spec.rb index 823781b860..a1bbacb966 100644 --- a/spec/ruby/library/set/sortedset/superset_spec.rb +++ b/spec/ruby/library/set/sortedset/superset_spec.rb @@ -1,33 +1,36 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#superset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end +ruby_version_is ""..."3.0" do + require 'set' - it "returns true if passed a SortedSet that equals self or self is a proper superset of" do - @set.superset?(@set).should be_true - SortedSet[].superset?(SortedSet[]).should be_true + describe "SortedSet#superset?" do + before :each do + @set = SortedSet[1, 2, 3, 4] + end - @set.superset?(SortedSet[]).should be_true - SortedSet[1, 2, 3].superset?(SortedSet[]).should be_true - SortedSet["a", "b", "c"].superset?(SortedSet[]).should be_true + it "returns true if passed a SortedSet that equals self or self is a proper superset of" do + @set.superset?(@set).should be_true + SortedSet[].superset?(SortedSet[]).should be_true - @set.superset?(SortedSet[1, 2, 3]).should be_true - @set.superset?(SortedSet[1, 3]).should be_true - @set.superset?(SortedSet[1, 2]).should be_true - @set.superset?(SortedSet[1]).should be_true + @set.superset?(SortedSet[]).should be_true + SortedSet[1, 2, 3].superset?(SortedSet[]).should be_true + SortedSet["a", "b", "c"].superset?(SortedSet[]).should be_true - @set.superset?(SortedSet[5]).should be_false - @set.superset?(SortedSet[1, 5]).should be_false - @set.superset?(SortedSet["test"]).should be_false - end + @set.superset?(SortedSet[1, 2, 3]).should be_true + @set.superset?(SortedSet[1, 3]).should be_true + @set.superset?(SortedSet[1, 2]).should be_true + @set.superset?(SortedSet[1]).should be_true + + @set.superset?(SortedSet[5]).should be_false + @set.superset?(SortedSet[1, 5]).should be_false + @set.superset?(SortedSet["test"]).should be_false + end - it "raises an ArgumentError when passed a non-SortedSet" do - -> { SortedSet[].superset?([]) }.should raise_error(ArgumentError) - -> { SortedSet[].superset?(1) }.should raise_error(ArgumentError) - -> { SortedSet[].superset?("test") }.should raise_error(ArgumentError) - -> { SortedSet[].superset?(Object.new) }.should raise_error(ArgumentError) + it "raises an ArgumentError when passed a non-SortedSet" do + -> { SortedSet[].superset?([]) }.should raise_error(ArgumentError) + -> { SortedSet[].superset?(1) }.should raise_error(ArgumentError) + -> { SortedSet[].superset?("test") }.should raise_error(ArgumentError) + -> { SortedSet[].superset?(Object.new) }.should raise_error(ArgumentError) + end end end diff --git a/spec/ruby/library/set/sortedset/to_a_spec.rb b/spec/ruby/library/set/sortedset/to_a_spec.rb index ba37d18cdb..bb54cd7cdb 100644 --- a/spec/ruby/library/set/sortedset/to_a_spec.rb +++ b/spec/ruby/library/set/sortedset/to_a_spec.rb @@ -1,17 +1,20 @@ require_relative '../../../spec_helper' -require 'set' -describe "SortedSet#to_a" do - it "returns an array containing elements" do - set = SortedSet.new [1, 2, 3] - set.to_a.should == [1, 2, 3] - end +ruby_version_is ""..."3.0" do + require 'set' + + describe "SortedSet#to_a" do + it "returns an array containing elements" do + set = SortedSet.new [1, 2, 3] + set.to_a.should == [1, 2, 3] + end - it "returns a sorted array containing elements" do - set = SortedSet[2, 3, 1] - set.to_a.should == [1, 2, 3] + it "returns a sorted array containing elements" do + set = SortedSet[2, 3, 1] + set.to_a.should == [1, 2, 3] - set = SortedSet.new [5, 6, 4, 4] - set.to_a.should == [4, 5, 6] + set = SortedSet.new [5, 6, 4, 4] + set.to_a.should == [4, 5, 6] + end end end diff --git a/spec/ruby/library/set/sortedset/union_spec.rb b/spec/ruby/library/set/sortedset/union_spec.rb index eb77600fee..c942f20d3e 100644 --- a/spec/ruby/library/set/sortedset/union_spec.rb +++ b/spec/ruby/library/set/sortedset/union_spec.rb @@ -1,11 +1,14 @@ require_relative '../../../spec_helper' -require_relative 'shared/union' -require 'set' -describe "SortedSet#union" do - it_behaves_like :sorted_set_union, :union -end +ruby_version_is ""..."3.0" do + require_relative 'shared/union' + require 'set' + + describe "SortedSet#union" do + it_behaves_like :sorted_set_union, :union + end -describe "SortedSet#|" do - it_behaves_like :sorted_set_union, :| + describe "SortedSet#|" do + it_behaves_like :sorted_set_union, :| + end end -- cgit v1.2.3