summaryrefslogtreecommitdiff
path: root/spec/ruby/library
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2020-12-05 11:40:00 +0100
committerBenoit Daloze <eregontp@gmail.com>2020-12-05 11:40:00 +0100
commit9dbb2bfd73e66106ec75fb9fff3ac38d85e40395 (patch)
treef2ebbdb3fa5e27a710ee40f7c638b2fbe6d24b70 /spec/ruby/library
parentbb3d70581972969a01c8ba7f2f3477ec92224f97 (diff)
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
Diffstat (limited to 'spec/ruby/library')
-rw-r--r--spec/ruby/library/set/sortedset/add_spec.rb59
-rw-r--r--spec/ruby/library/set/sortedset/append_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/case_equality_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/classify_spec.rb41
-rw-r--r--spec/ruby/library/set/sortedset/clear_spec.rb25
-rw-r--r--spec/ruby/library/set/sortedset/collect_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/constructor_spec.rb21
-rw-r--r--spec/ruby/library/set/sortedset/delete_if_spec.rb57
-rw-r--r--spec/ruby/library/set/sortedset/delete_spec.rb55
-rw-r--r--spec/ruby/library/set/sortedset/difference_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/divide_spec.rb53
-rw-r--r--spec/ruby/library/set/sortedset/each_spec.rb39
-rw-r--r--spec/ruby/library/set/sortedset/empty_spec.rb15
-rw-r--r--spec/ruby/library/set/sortedset/eql_spec.rb23
-rw-r--r--spec/ruby/library/set/sortedset/equal_value_spec.rb19
-rw-r--r--spec/ruby/library/set/sortedset/exclusion_spec.rb27
-rw-r--r--spec/ruby/library/set/sortedset/filter_spec.rb13
-rw-r--r--spec/ruby/library/set/sortedset/flatten_merge_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/flatten_spec.rb67
-rw-r--r--spec/ruby/library/set/sortedset/hash_spec.rb19
-rw-r--r--spec/ruby/library/set/sortedset/include_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/initialize_spec.rb49
-rw-r--r--spec/ruby/library/set/sortedset/inspect_spec.rb15
-rw-r--r--spec/ruby/library/set/sortedset/intersection_spec.rb17
-rw-r--r--spec/ruby/library/set/sortedset/keep_if_spec.rb47
-rw-r--r--spec/ruby/library/set/sortedset/length_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/map_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/member_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/merge_spec.rb29
-rw-r--r--spec/ruby/library/set/sortedset/minus_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/plus_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb15
-rw-r--r--spec/ruby/library/set/sortedset/pretty_print_spec.rb23
-rw-r--r--spec/ruby/library/set/sortedset/proper_subset_spec.rb51
-rw-r--r--spec/ruby/library/set/sortedset/proper_superset_spec.rb51
-rw-r--r--spec/ruby/library/set/sortedset/reject_spec.rb63
-rw-r--r--spec/ruby/library/set/sortedset/replace_spec.rb25
-rw-r--r--spec/ruby/library/set/sortedset/select_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/size_spec.rb11
-rw-r--r--spec/ruby/library/set/sortedset/subset_spec.rb51
-rw-r--r--spec/ruby/library/set/sortedset/subtract_spec.rb25
-rw-r--r--spec/ruby/library/set/sortedset/superset_spec.rb51
-rw-r--r--spec/ruby/library/set/sortedset/to_a_spec.rb25
-rw-r--r--spec/ruby/library/set/sortedset/union_spec.rb17
44 files changed, 681 insertions, 549 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
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: {...}>")
- 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: {...}>")
+ 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("#<SortedSet: {")
- 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("#<SortedSet: {")
+ 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