summaryrefslogtreecommitdiff
path: root/spec/ruby/core/set
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/set')
-rw-r--r--spec/ruby/core/set/add_spec.rb8
-rw-r--r--spec/ruby/core/set/classify_spec.rb2
-rw-r--r--spec/ruby/core/set/clear_spec.rb4
-rw-r--r--spec/ruby/core/set/compare_by_identity_spec.rb20
-rw-r--r--spec/ruby/core/set/comparison_spec.rb4
-rw-r--r--spec/ruby/core/set/constructor_spec.rb10
-rw-r--r--spec/ruby/core/set/delete_if_spec.rb18
-rw-r--r--spec/ruby/core/set/delete_spec.rb12
-rw-r--r--spec/ruby/core/set/disjoint_spec.rb4
-rw-r--r--spec/ruby/core/set/divide_spec.rb12
-rw-r--r--spec/ruby/core/set/each_spec.rb4
-rw-r--r--spec/ruby/core/set/empty_spec.rb6
-rw-r--r--spec/ruby/core/set/eql_spec.rb14
-rw-r--r--spec/ruby/core/set/equal_value_spec.rb2
-rw-r--r--spec/ruby/core/set/exclusion_spec.rb4
-rw-r--r--spec/ruby/core/set/flatten_merge_spec.rb6
-rw-r--r--spec/ruby/core/set/flatten_spec.rb22
-rw-r--r--spec/ruby/core/set/hash_spec.rb2
-rw-r--r--spec/ruby/core/set/initialize_spec.rb64
-rw-r--r--spec/ruby/core/set/intersect_spec.rb4
-rw-r--r--spec/ruby/core/set/join_spec.rb2
-rw-r--r--spec/ruby/core/set/keep_if_spec.rb18
-rw-r--r--spec/ruby/core/set/merge_spec.rb20
-rw-r--r--spec/ruby/core/set/pretty_print_cycle_spec.rb7
-rw-r--r--spec/ruby/core/set/proper_subset_spec.rb44
-rw-r--r--spec/ruby/core/set/proper_superset_spec.rb38
-rw-r--r--spec/ruby/core/set/reject_spec.rb20
-rw-r--r--spec/ruby/core/set/replace_spec.rb2
-rw-r--r--spec/ruby/core/set/shared/add.rb4
-rw-r--r--spec/ruby/core/set/shared/collect.rb2
-rw-r--r--spec/ruby/core/set/shared/difference.rb4
-rw-r--r--spec/ruby/core/set/shared/include.rb4
-rw-r--r--spec/ruby/core/set/shared/inspect.rb28
-rw-r--r--spec/ruby/core/set/shared/intersection.rb4
-rw-r--r--spec/ruby/core/set/shared/select.rb20
-rw-r--r--spec/ruby/core/set/shared/union.rb4
-rw-r--r--spec/ruby/core/set/sortedset/sortedset_spec.rb4
-rw-r--r--spec/ruby/core/set/subset_spec.rb44
-rw-r--r--spec/ruby/core/set/superset_spec.rb38
39 files changed, 256 insertions, 273 deletions
diff --git a/spec/ruby/core/set/add_spec.rb b/spec/ruby/core/set/add_spec.rb
index 0fe1a0926c..1ce03b1eab 100644
--- a/spec/ruby/core/set/add_spec.rb
+++ b/spec/ruby/core/set/add_spec.rb
@@ -12,22 +12,22 @@ describe "Set#add?" do
it "adds the passed Object to self" do
@set.add?("cat")
- @set.should include("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)
+ @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
+ @set.add?("cat").should == nil
end
it "raises RuntimeError when called during iteration" do
set = Set[:a, :b, :c, :d, :e, :f]
set.each do |_m|
- -> { set << 1 }.should raise_error(RuntimeError, /iteration/)
+ -> { set << 1 }.should.raise(RuntimeError, /iteration/)
end
set.should == Set[:a, :b, :c, :d, :e, :f]
end
diff --git a/spec/ruby/core/set/classify_spec.rb b/spec/ruby/core/set/classify_spec.rb
index d86ea2722d..a225ab7cbb 100644
--- a/spec/ruby/core/set/classify_spec.rb
+++ b/spec/ruby/core/set/classify_spec.rb
@@ -13,7 +13,7 @@ describe "Set#classify" do
it "returns an Enumerator when passed no block" do
enum = @set.classify
- enum.should be_an_instance_of(Enumerator)
+ enum.should.instance_of?(Enumerator)
classified = enum.each { |x| x.length }
classified.should == { 3 => Set["one", "two"], 4 => Set["four"], 5 => Set["three"] }
diff --git a/spec/ruby/core/set/clear_spec.rb b/spec/ruby/core/set/clear_spec.rb
index ebeac211d3..c61a0d78f2 100644
--- a/spec/ruby/core/set/clear_spec.rb
+++ b/spec/ruby/core/set/clear_spec.rb
@@ -7,10 +7,10 @@ describe "Set#clear" do
it "removes all elements from self" do
@set.clear
- @set.should be_empty
+ @set.should.empty?
end
it "returns self" do
- @set.clear.should equal(@set)
+ @set.clear.should.equal?(@set)
end
end
diff --git a/spec/ruby/core/set/compare_by_identity_spec.rb b/spec/ruby/core/set/compare_by_identity_spec.rb
index 0dda6d79f0..458e760da0 100644
--- a/spec/ruby/core/set/compare_by_identity_spec.rb
+++ b/spec/ruby/core/set/compare_by_identity_spec.rb
@@ -16,9 +16,9 @@ describe "Set#compare_by_identity" do
elt = [1]
set = Set.new
set << elt
- set.member?(elt.dup).should be_true
+ set.member?(elt.dup).should == true
set.compare_by_identity
- set.member?(elt.dup).should be_false
+ set.member?(elt.dup).should == false
end
it "rehashes internally so that old members can be looked up" do
@@ -28,19 +28,19 @@ describe "Set#compare_by_identity" do
def o.hash; 123; end
set << o
set.compare_by_identity
- set.member?(o).should be_true
+ set.member?(o).should == true
end
it "returns self" do
set = Set.new
result = set.compare_by_identity
- result.should equal(set)
+ result.should.equal?(set)
end
it "is idempotent and has no effect on an already compare_by_identity set" do
set = Set.new.compare_by_identity
set << :foo
- set.compare_by_identity.should equal(set)
+ set.compare_by_identity.should.equal?(set)
set.should.compare_by_identity?
set.to_a.should == [:foo]
end
@@ -69,7 +69,7 @@ describe "Set#compare_by_identity" do
elt.should_not_receive(:hash)
set = Set.new.compare_by_identity
set << elt
- set.member?(elt).should be_true
+ set.member?(elt).should == true
end
it "regards #dup'd objects as having different identities" do
@@ -90,21 +90,21 @@ describe "Set#compare_by_identity" do
set.to_a.sort.should == [a1, a2].sort
end
- ruby_version_is "3.5" do
+ ruby_version_is "4.0" do
it "raises a FrozenError on frozen sets" do
set = Set.new.freeze
-> {
set.compare_by_identity
- }.should raise_error(FrozenError, /can't modify frozen Set: (#<)?Set(\[|: {)[\]}]>?/)
+ }.should.raise(FrozenError, /can't modify frozen Set: (#<)?Set(\[|: {)[\]}]>?/)
end
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
it "raises a FrozenError on frozen sets" do
set = Set.new.freeze
-> {
set.compare_by_identity
- }.should raise_error(FrozenError, /frozen Hash/)
+ }.should.raise(FrozenError, /frozen Hash/)
end
end
diff --git a/spec/ruby/core/set/comparison_spec.rb b/spec/ruby/core/set/comparison_spec.rb
index 62059b70b3..eb18a198e5 100644
--- a/spec/ruby/core/set/comparison_spec.rb
+++ b/spec/ruby/core/set/comparison_spec.rb
@@ -17,10 +17,10 @@ describe "Set#<=>" do
end
it "returns nil if the set has unique elements" do
- (Set[1, 2, 3] <=> Set[:a, :b, :c]).should be_nil
+ (Set[1, 2, 3] <=> Set[:a, :b, :c]).should == nil
end
it "returns nil when the argument is not set-like" do
- (Set[] <=> false).should be_nil
+ (Set[] <=> false).should == nil
end
end
diff --git a/spec/ruby/core/set/constructor_spec.rb b/spec/ruby/core/set/constructor_spec.rb
index 365081ad39..11138f3a5b 100644
--- a/spec/ruby/core/set/constructor_spec.rb
+++ b/spec/ruby/core/set/constructor_spec.rb
@@ -4,11 +4,11 @@ describe "Set[]" do
it "returns a new Set populated with the passed Objects" do
set = Set[1, 2, 3]
- set.instance_of?(Set).should be_true
- set.size.should eql(3)
+ set.instance_of?(Set).should == true
+ set.size.should.eql?(3)
- set.should include(1)
- set.should include(2)
- set.should include(3)
+ set.should.include?(1)
+ set.should.include?(2)
+ set.should.include?(3)
end
end
diff --git a/spec/ruby/core/set/delete_if_spec.rb b/spec/ruby/core/set/delete_if_spec.rb
index beda73a5e5..b231dff50d 100644
--- a/spec/ruby/core/set/delete_if_spec.rb
+++ b/spec/ruby/core/set/delete_if_spec.rb
@@ -13,25 +13,25 @@ describe "Set#delete_if" do
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)
+ @set.size.should.eql?(1)
- @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
it "returns self" do
- @set.delete_if { |x| x }.should equal(@set)
+ @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)
+ enum.should.instance_of?(Enumerator)
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
diff --git a/spec/ruby/core/set/delete_spec.rb b/spec/ruby/core/set/delete_spec.rb
index a2543ecbee..cdc6dd7b36 100644
--- a/spec/ruby/core/set/delete_spec.rb
+++ b/spec/ruby/core/set/delete_spec.rb
@@ -7,12 +7,12 @@ describe "Set#delete" do
it "deletes the passed Object from self" do
@set.delete("a")
- @set.should_not include("a")
+ @set.should_not.include?("a")
end
it "returns self" do
- @set.delete("a").should equal(@set)
- @set.delete("x").should equal(@set)
+ @set.delete("a").should.equal?(@set)
+ @set.delete("x").should.equal?(@set)
end
end
@@ -23,14 +23,14 @@ describe "Set#delete?" do
it "deletes the passed Object from self" do
@set.delete?("a")
- @set.should_not include("a")
+ @set.should_not.include?("a")
end
it "returns self when the passed Object is in self" do
- @set.delete?("a").should equal(@set)
+ @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
+ @set.delete?("x").should == nil
end
end
diff --git a/spec/ruby/core/set/disjoint_spec.rb b/spec/ruby/core/set/disjoint_spec.rb
index 89a3c4b157..d415c21045 100644
--- a/spec/ruby/core/set/disjoint_spec.rb
+++ b/spec/ruby/core/set/disjoint_spec.rb
@@ -12,11 +12,11 @@ describe "Set#disjoint?" do
context "when comparing to a Set-like object" do
it "returns false when a Set has at least one element in common with a Set-like object" do
- Set[1, 2].disjoint?(SetSpecs::SetLike.new([2, 3])).should be_false
+ Set[1, 2].disjoint?(SetSpecs::SetLike.new([2, 3])).should == false
end
it "returns true when a Set has no element in common with a Set-like object" do
- Set[1, 2].disjoint?(SetSpecs::SetLike.new([3, 4])).should be_true
+ Set[1, 2].disjoint?(SetSpecs::SetLike.new([3, 4])).should == true
end
end
end
diff --git a/spec/ruby/core/set/divide_spec.rb b/spec/ruby/core/set/divide_spec.rb
index cbe0042f16..409a22df75 100644
--- a/spec/ruby/core/set/divide_spec.rb
+++ b/spec/ruby/core/set/divide_spec.rb
@@ -14,7 +14,7 @@ describe "Set#divide" do
it "returns an enumerator when not passed a block" do
ret = Set[1, 2, 3, 4].divide
- ret.should be_kind_of(Enumerator)
+ ret.should.is_a?(Enumerator)
ret.each(&:even?).should == Set[Set[1, 3], Set[2, 4]]
end
end
@@ -25,7 +25,7 @@ describe "Set#divide when passed a block with an arity of 2" do
set.map{ |x| x.to_a.sort }.sort.should == [[1], [3, 4], [6], [9, 10, 11]]
end
- ruby_version_is "3.5" do
+ ruby_version_is "4.0" do
it "yields each two Object to the block" do
ret = []
Set[1, 2].divide { |x, y| ret << [x, y] }
@@ -33,7 +33,7 @@ describe "Set#divide when passed a block with an arity of 2" do
end
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
it "yields each two Object to the block" do
ret = []
Set[1, 2].divide { |x, y| ret << [x, y] }
@@ -43,7 +43,7 @@ describe "Set#divide when passed a block with an arity of 2" do
it "returns an enumerator when not passed a block" do
ret = Set[1, 2, 3, 4].divide
- ret.should be_kind_of(Enumerator)
+ ret.should.is_a?(Enumerator)
ret.each { |a, b| (a + b).even? }.should == Set[Set[1, 3], Set[2, 4]]
end
end
@@ -51,8 +51,8 @@ end
describe "Set#divide when passed a block with an arity of > 2" do
it "only uses the first element if the arity > 2" do
set = Set["one", "two", "three", "four", "five"].divide do |x, y, z|
- y.should be_nil
- z.should be_nil
+ y.should == nil
+ z.should == nil
x.length
end
set.map { |x| x.to_a.sort }.sort.should == [["five", "four"], ["one", "two"], ["three"]]
diff --git a/spec/ruby/core/set/each_spec.rb b/spec/ruby/core/set/each_spec.rb
index 3d9cdc2d46..bdafc99571 100644
--- a/spec/ruby/core/set/each_spec.rb
+++ b/spec/ruby/core/set/each_spec.rb
@@ -12,12 +12,12 @@ describe "Set#each" do
end
it "returns self" do
- @set.each { |x| x }.should equal(@set)
+ @set.each { |x| x }.should.equal?(@set)
end
it "returns an Enumerator when not passed a block" do
enum = @set.each
- enum.should be_an_instance_of(Enumerator)
+ enum.should.instance_of?(Enumerator)
ret = []
enum.each { |x| ret << x }
diff --git a/spec/ruby/core/set/empty_spec.rb b/spec/ruby/core/set/empty_spec.rb
index 4b55658e20..c71f2ce18d 100644
--- a/spec/ruby/core/set/empty_spec.rb
+++ b/spec/ruby/core/set/empty_spec.rb
@@ -2,8 +2,8 @@ require_relative '../../spec_helper'
describe "Set#empty?" do
it "returns true if self is empty" do
- Set[].empty?.should be_true
- Set[1].empty?.should be_false
- Set[1,2,3].empty?.should be_false
+ Set[].empty?.should == true
+ Set[1].empty?.should == false
+ Set[1,2,3].empty?.should == false
end
end
diff --git a/spec/ruby/core/set/eql_spec.rb b/spec/ruby/core/set/eql_spec.rb
index 4ad5c3aa5a..6862ed4eda 100644
--- a/spec/ruby/core/set/eql_spec.rb
+++ b/spec/ruby/core/set/eql_spec.rb
@@ -2,13 +2,13 @@ require_relative '../../spec_helper'
describe "Set#eql?" do
it "returns true when the passed argument is a Set and contains the same elements" do
- Set[].should eql(Set[])
- Set[1, 2, 3].should eql(Set[1, 2, 3])
- Set[1, 2, 3].should eql(Set[3, 2, 1])
- Set["a", :b, ?c].should eql(Set[?c, :b, "a"])
+ Set[].should.eql?(Set[])
+ Set[1, 2, 3].should.eql?(Set[1, 2, 3])
+ Set[1, 2, 3].should.eql?(Set[3, 2, 1])
+ Set["a", :b, ?c].should.eql?(Set[?c, :b, "a"])
- Set[1, 2, 3].should_not eql(Set[1.0, 2, 3])
- Set[1, 2, 3].should_not eql(Set[2, 3])
- Set[1, 2, 3].should_not eql(Set[])
+ Set[1, 2, 3].should_not.eql?(Set[1.0, 2, 3])
+ Set[1, 2, 3].should_not.eql?(Set[2, 3])
+ Set[1, 2, 3].should_not.eql?(Set[])
end
end
diff --git a/spec/ruby/core/set/equal_value_spec.rb b/spec/ruby/core/set/equal_value_spec.rb
index e3514928c8..721a79a3f1 100644
--- a/spec/ruby/core/set/equal_value_spec.rb
+++ b/spec/ruby/core/set/equal_value_spec.rb
@@ -24,7 +24,7 @@ describe "Set#==" do
set1.should == set2
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
context "when comparing to a Set-like object" do
it "returns true when a Set and a Set-like object contain the same elements" do
Set[1, 2, 3].should == SetSpecs::SetLike.new([1, 2, 3])
diff --git a/spec/ruby/core/set/exclusion_spec.rb b/spec/ruby/core/set/exclusion_spec.rb
index bbc29afa95..52ee34fe78 100644
--- a/spec/ruby/core/set/exclusion_spec.rb
+++ b/spec/ruby/core/set/exclusion_spec.rb
@@ -11,7 +11,7 @@ describe "Set#^" do
end
it "raises an ArgumentError when passed a non-Enumerable" do
- -> { @set ^ 3 }.should raise_error(ArgumentError)
- -> { @set ^ Object.new }.should raise_error(ArgumentError)
+ -> { @set ^ 3 }.should.raise(ArgumentError)
+ -> { @set ^ Object.new }.should.raise(ArgumentError)
end
end
diff --git a/spec/ruby/core/set/flatten_merge_spec.rb b/spec/ruby/core/set/flatten_merge_spec.rb
index d7c2b30657..3904d969ae 100644
--- a/spec/ruby/core/set/flatten_merge_spec.rb
+++ b/spec/ruby/core/set/flatten_merge_spec.rb
@@ -1,9 +1,9 @@
require_relative '../../spec_helper'
describe "Set#flatten_merge" do
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
it "is protected" do
- Set.should have_protected_instance_method("flatten_merge")
+ Set.protected_instance_methods(false).should.include?(:flatten_merge)
end
it "flattens the passed Set and merges it into self" do
@@ -18,7 +18,7 @@ describe "Set#flatten_merge" do
set2 = Set[5, 6, 7]
set2 << set2
- -> { set1.send(:flatten_merge, set2) }.should raise_error(ArgumentError)
+ -> { set1.send(:flatten_merge, set2) }.should.raise(ArgumentError)
end
end
end
diff --git a/spec/ruby/core/set/flatten_spec.rb b/spec/ruby/core/set/flatten_spec.rb
index 870eccc2f1..ca6323fac8 100644
--- a/spec/ruby/core/set/flatten_spec.rb
+++ b/spec/ruby/core/set/flatten_spec.rb
@@ -7,16 +7,16 @@ describe "Set#flatten" do
set = Set[1, 2, Set[3, 4, Set[5, 6, Set[7, 8]]], 9, 10]
flattened_set = set.flatten
- flattened_set.should_not equal(set)
+ flattened_set.should_not.equal?(set)
flattened_set.should == Set[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
end
it "raises an ArgumentError when self is recursive" do
(set = Set[]) << set
- -> { set.flatten }.should raise_error(ArgumentError)
+ -> { set.flatten }.should.raise(ArgumentError)
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
context "when Set contains a Set-like object" do
it "returns a copy of self with each included Set-like object flattened" do
Set[SetSpecs::SetLike.new([1])].flatten.should == Set[1]
@@ -34,26 +34,16 @@ describe "Set#flatten!" do
it "returns self when self was modified" do
set = Set[1, 2, Set[3, 4]]
- set.flatten!.should equal(set)
+ set.flatten!.should.equal?(set)
end
it "returns nil when self was not modified" do
set = Set[1, 2, 3, 4]
- set.flatten!.should be_nil
+ set.flatten!.should == nil
end
it "raises an ArgumentError when self is recursive" do
(set = Set[]) << set
- -> { set.flatten! }.should raise_error(ArgumentError)
- end
-
- version_is(set_version, ""..."1.1.0") do #ruby_version_is ""..."3.3" do
- ruby_version_is ""..."3.5" do
- context "when Set contains a Set-like object" do
- it "flattens self, including Set-like objects" do
- Set[SetSpecs::SetLike.new([1])].flatten!.should == Set[1]
- end
- end
- end
+ -> { set.flatten! }.should.raise(ArgumentError)
end
end
diff --git a/spec/ruby/core/set/hash_spec.rb b/spec/ruby/core/set/hash_spec.rb
index 4b4696e34c..63a0aa66a5 100644
--- a/spec/ruby/core/set/hash_spec.rb
+++ b/spec/ruby/core/set/hash_spec.rb
@@ -10,7 +10,7 @@ describe "Set#hash" do
Set[1, 2, 3].hash.should_not == Set[:a, "b", ?c].hash
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
# see https://github.com/jruby/jruby/issues/8393
it "is equal to nil.hash for an uninitialized Set" do
Set.allocate.hash.should == nil.hash
diff --git a/spec/ruby/core/set/initialize_spec.rb b/spec/ruby/core/set/initialize_spec.rb
index ad9e1bd8c9..45538b38fb 100644
--- a/spec/ruby/core/set/initialize_spec.rb
+++ b/spec/ruby/core/set/initialize_spec.rb
@@ -2,71 +2,87 @@ require_relative '../../spec_helper'
describe "Set#initialize" do
it "is private" do
- Set.should have_private_instance_method(:initialize)
+ Set.private_instance_methods(false).should.include?(:initialize)
end
it "adds all elements of the passed Enumerable to self" do
s = Set.new([1, 2, 3])
- s.size.should eql(3)
- s.should include(1)
- s.should include(2)
- s.should include(3)
+ s.size.should.eql?(3)
+ s.should.include?(1)
+ s.should.include?(2)
+ s.should.include?(3)
end
it "uses #each_entry on the provided Enumerable" do
enumerable = MockObject.new('mock-enumerable')
enumerable.should_receive(:each_entry).and_yield(1).and_yield(2).and_yield(3)
s = Set.new(enumerable)
- s.size.should eql(3)
- s.should include(1)
- s.should include(2)
- s.should include(3)
+ s.size.should.eql?(3)
+ s.should.include?(1)
+ s.should.include?(2)
+ s.should.include?(3)
end
it "uses #each on the provided Enumerable if it does not respond to #each_entry" do
enumerable = MockObject.new('mock-enumerable')
enumerable.should_receive(:each).and_yield(1).and_yield(2).and_yield(3)
s = Set.new(enumerable)
- s.size.should eql(3)
- s.should include(1)
- s.should include(2)
- s.should include(3)
+ s.size.should.eql?(3)
+ s.should.include?(1)
+ s.should.include?(2)
+ s.should.include?(3)
end
it "raises if the provided Enumerable does not respond to #each_entry or #each" do
enumerable = MockObject.new('mock-enumerable')
- -> { Set.new(enumerable) }.should raise_error(ArgumentError, "value must be enumerable")
+ -> { Set.new(enumerable) }.should.raise(ArgumentError, "value must be enumerable")
end
it "should initialize with empty array and set" do
s = Set.new([])
- s.size.should eql(0)
+ s.size.should.eql?(0)
s = Set.new({})
- s.size.should eql(0)
+ s.size.should.eql?(0)
end
it "preprocesses all elements by a passed block before adding to self" do
s = Set.new([1, 2, 3]) { |x| x * x }
- s.size.should eql(3)
- s.should include(1)
- s.should include(4)
- s.should include(9)
+ s.size.should.eql?(3)
+ s.should.include?(1)
+ s.should.include?(4)
+ s.should.include?(9)
end
it "should initialize with empty array and block" do
s = Set.new([]) { |x| x * x }
- s.size.should eql(0)
+ s.size.should.eql?(0)
end
it "should initialize with empty set and block" do
s = Set.new(Set.new) { |x| x * x }
- s.size.should eql(0)
+ s.size.should.eql?(0)
+ end
+
+ it "should initialize with set" do
+ o = Set.new([1, 2])
+ s = Set.new(o)
+ s.size.should.eql?(2)
+ s.should.include?(1)
+ s.should.include?(2)
+ end
+
+ it "should initialize with set and block" do
+ o = Set.new([1, 2])
+ s = Set.new(o) { |e| e + 2 }
+ s.size.should.eql?(2)
+ s.should.include?(3)
+ s.should.include?(4)
end
it "should initialize with just block" do
s = Set.new { |x| x * x }
- s.size.should eql(0)
- s.should eql(Set.new)
+ s.size.should.eql?(0)
+ s.should.eql?(Set.new)
end
end
diff --git a/spec/ruby/core/set/intersect_spec.rb b/spec/ruby/core/set/intersect_spec.rb
index 0736dea5fd..d04a1af441 100644
--- a/spec/ruby/core/set/intersect_spec.rb
+++ b/spec/ruby/core/set/intersect_spec.rb
@@ -12,11 +12,11 @@ describe "Set#intersect?" do
context "when comparing to a Set-like object" do
it "returns true when a Set has at least one element in common with a Set-like object" do
- Set[1, 2].intersect?(SetSpecs::SetLike.new([2, 3])).should be_true
+ Set[1, 2].intersect?(SetSpecs::SetLike.new([2, 3])).should == true
end
it "returns false when a Set has no element in common with a Set-like object" do
- Set[1, 2].intersect?(SetSpecs::SetLike.new([3, 4])).should be_false
+ Set[1, 2].intersect?(SetSpecs::SetLike.new([3, 4])).should == false
end
end
end
diff --git a/spec/ruby/core/set/join_spec.rb b/spec/ruby/core/set/join_spec.rb
index cdb593597d..1c1e8a8af8 100644
--- a/spec/ruby/core/set/join_spec.rb
+++ b/spec/ruby/core/set/join_spec.rb
@@ -20,7 +20,7 @@ describe "Set#join" do
set.join(' | ').should == "a | b | c"
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
it "calls #to_a to convert the Set in to an Array" do
set = Set[:a, :b, :c]
set.should_receive(:to_a).and_return([:a, :b, :c])
diff --git a/spec/ruby/core/set/keep_if_spec.rb b/spec/ruby/core/set/keep_if_spec.rb
index d6abdd6adc..7ca5d0cd43 100644
--- a/spec/ruby/core/set/keep_if_spec.rb
+++ b/spec/ruby/core/set/keep_if_spec.rb
@@ -13,25 +13,25 @@ describe "Set#keep_if" do
it "keeps every element from self for which the passed block returns true" do
@set.keep_if { |x| x.size != 3 }
- @set.size.should eql(1)
+ @set.size.should.eql?(1)
- @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
it "returns self" do
- @set.keep_if {}.should equal(@set)
+ @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)
+ enum.should.instance_of?(Enumerator)
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
diff --git a/spec/ruby/core/set/merge_spec.rb b/spec/ruby/core/set/merge_spec.rb
index 0c6ed27670..a2c1a7e706 100644
--- a/spec/ruby/core/set/merge_spec.rb
+++ b/spec/ruby/core/set/merge_spec.rb
@@ -8,30 +8,22 @@ describe "Set#merge" do
it "returns self" do
set = Set[1, 2]
- set.merge([3, 4]).should equal(set)
+ set.merge([3, 4]).should.equal?(set)
end
it "raises an ArgumentError when passed a non-Enumerable" do
- -> { Set[1, 2].merge(1) }.should raise_error(ArgumentError)
- -> { Set[1, 2].merge(Object.new) }.should raise_error(ArgumentError)
+ -> { Set[1, 2].merge(1) }.should.raise(ArgumentError)
+ -> { Set[1, 2].merge(Object.new) }.should.raise(ArgumentError)
end
it "raises RuntimeError when called during iteration" do
set = Set[:a, :b]
set.each do |_m|
- -> { set.merge([1, 2]) }.should raise_error(RuntimeError, /iteration/)
+ -> { set.merge([1, 2]) }.should.raise(RuntimeError, /iteration/)
end
end
- ruby_version_is ""..."3.3" do
- it "accepts only a single argument" do
- -> { Set[].merge([], []) }.should raise_error(ArgumentError, "wrong number of arguments (given 2, expected 1)")
- end
- end
-
- ruby_version_is "3.3" do
- it "accepts multiple arguments" do
- Set[:a, :b].merge(Set[:b, :c], [:d]).should == Set[:a, :b, :c, :d]
- end
+ it "accepts multiple arguments" do
+ Set[:a, :b].merge(Set[:b, :c], [:d]).should == Set[:a, :b, :c, :d]
end
end
diff --git a/spec/ruby/core/set/pretty_print_cycle_spec.rb b/spec/ruby/core/set/pretty_print_cycle_spec.rb
index c3b383fe80..7e6017c112 100644
--- a/spec/ruby/core/set/pretty_print_cycle_spec.rb
+++ b/spec/ruby/core/set/pretty_print_cycle_spec.rb
@@ -3,7 +3,12 @@ require_relative '../../spec_helper'
describe "Set#pretty_print_cycle" do
it "passes the 'pretty print' representation of a self-referencing Set to the pretty print writer" do
pp = mock("PrettyPrint")
- pp.should_receive(:text).with("#<Set: {...}>")
+ ruby_version_is(""..."4.0") do
+ pp.should_receive(:text).with("#<Set: {...}>")
+ end
+ ruby_version_is("4.0") do
+ pp.should_receive(:text).with("Set[...]")
+ end
Set[1, 2, 3].pretty_print_cycle(pp)
end
end
diff --git a/spec/ruby/core/set/proper_subset_spec.rb b/spec/ruby/core/set/proper_subset_spec.rb
index a84c4197c2..3fd27da131 100644
--- a/spec/ruby/core/set/proper_subset_spec.rb
+++ b/spec/ruby/core/set/proper_subset_spec.rb
@@ -8,38 +8,28 @@ describe "Set#proper_subset?" do
end
it "returns true if passed a Set that self is a proper subset of" do
- Set[].proper_subset?(@set).should be_true
- Set[].proper_subset?(Set[1, 2, 3]).should be_true
- Set[].proper_subset?(Set["a", :b, ?c]).should be_true
+ Set[].proper_subset?(@set).should == true
+ Set[].proper_subset?(Set[1, 2, 3]).should == true
+ Set[].proper_subset?(Set["a", :b, ?c]).should == true
- Set[1, 2, 3].proper_subset?(@set).should be_true
- Set[1, 3].proper_subset?(@set).should be_true
- Set[1, 2].proper_subset?(@set).should be_true
- Set[1].proper_subset?(@set).should be_true
+ Set[1, 2, 3].proper_subset?(@set).should == true
+ Set[1, 3].proper_subset?(@set).should == true
+ Set[1, 2].proper_subset?(@set).should == true
+ Set[1].proper_subset?(@set).should == true
- Set[5].proper_subset?(@set).should be_false
- Set[1, 5].proper_subset?(@set).should be_false
- Set[nil].proper_subset?(@set).should be_false
- Set["test"].proper_subset?(@set).should be_false
+ Set[5].proper_subset?(@set).should == false
+ Set[1, 5].proper_subset?(@set).should == false
+ Set[nil].proper_subset?(@set).should == false
+ Set["test"].proper_subset?(@set).should == false
- @set.proper_subset?(@set).should be_false
- Set[].proper_subset?(Set[]).should be_false
+ @set.proper_subset?(@set).should == false
+ Set[].proper_subset?(Set[]).should == false
end
it "raises an ArgumentError when passed a non-Set" do
- -> { Set[].proper_subset?([]) }.should raise_error(ArgumentError)
- -> { Set[].proper_subset?(1) }.should raise_error(ArgumentError)
- -> { Set[].proper_subset?("test") }.should raise_error(ArgumentError)
- -> { Set[].proper_subset?(Object.new) }.should raise_error(ArgumentError)
- end
-
- version_is(set_version, ""..."1.1.0") do #ruby_version_is ""..."3.3" do
- ruby_version_is ""..."3.5" do
- context "when comparing to a Set-like object" do
- it "returns true if passed a Set-like object that self is a proper subset of" do
- Set[1, 2, 3].proper_subset?(SetSpecs::SetLike.new([1, 2, 3, 4])).should be_true
- end
- end
- end
+ -> { Set[].proper_subset?([]) }.should.raise(ArgumentError)
+ -> { Set[].proper_subset?(1) }.should.raise(ArgumentError)
+ -> { Set[].proper_subset?("test") }.should.raise(ArgumentError)
+ -> { Set[].proper_subset?(Object.new) }.should.raise(ArgumentError)
end
end
diff --git a/spec/ruby/core/set/proper_superset_spec.rb b/spec/ruby/core/set/proper_superset_spec.rb
index 653411f6b2..e95c67ef0e 100644
--- a/spec/ruby/core/set/proper_superset_spec.rb
+++ b/spec/ruby/core/set/proper_superset_spec.rb
@@ -7,35 +7,35 @@ describe "Set#proper_superset?" do
end
it "returns true if passed a Set that self is a proper superset of" do
- @set.proper_superset?(Set[]).should be_true
- Set[1, 2, 3].proper_superset?(Set[]).should be_true
- Set["a", :b, ?c].proper_superset?(Set[]).should be_true
+ @set.proper_superset?(Set[]).should == true
+ Set[1, 2, 3].proper_superset?(Set[]).should == true
+ Set["a", :b, ?c].proper_superset?(Set[]).should == true
- @set.proper_superset?(Set[1, 2, 3]).should be_true
- @set.proper_superset?(Set[1, 3]).should be_true
- @set.proper_superset?(Set[1, 2]).should be_true
- @set.proper_superset?(Set[1]).should be_true
+ @set.proper_superset?(Set[1, 2, 3]).should == true
+ @set.proper_superset?(Set[1, 3]).should == true
+ @set.proper_superset?(Set[1, 2]).should == true
+ @set.proper_superset?(Set[1]).should == true
- @set.proper_superset?(Set[5]).should be_false
- @set.proper_superset?(Set[1, 5]).should be_false
- @set.proper_superset?(Set[nil]).should be_false
- @set.proper_superset?(Set["test"]).should be_false
+ @set.proper_superset?(Set[5]).should == false
+ @set.proper_superset?(Set[1, 5]).should == false
+ @set.proper_superset?(Set[nil]).should == false
+ @set.proper_superset?(Set["test"]).should == false
- @set.proper_superset?(@set).should be_false
- Set[].proper_superset?(Set[]).should be_false
+ @set.proper_superset?(@set).should == false
+ Set[].proper_superset?(Set[]).should == false
end
it "raises an ArgumentError when passed a non-Set" do
- -> { Set[].proper_superset?([]) }.should raise_error(ArgumentError)
- -> { Set[].proper_superset?(1) }.should raise_error(ArgumentError)
- -> { Set[].proper_superset?("test") }.should raise_error(ArgumentError)
- -> { Set[].proper_superset?(Object.new) }.should raise_error(ArgumentError)
+ -> { Set[].proper_superset?([]) }.should.raise(ArgumentError)
+ -> { Set[].proper_superset?(1) }.should.raise(ArgumentError)
+ -> { Set[].proper_superset?("test") }.should.raise(ArgumentError)
+ -> { Set[].proper_superset?(Object.new) }.should.raise(ArgumentError)
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
context "when comparing to a Set-like object" do
it "returns true if passed a Set-like object that self is a proper superset of" do
- Set[1, 2, 3, 4].proper_superset?(SetSpecs::SetLike.new([1, 2, 3])).should be_true
+ Set[1, 2, 3, 4].proper_superset?(SetSpecs::SetLike.new([1, 2, 3])).should == true
end
end
end
diff --git a/spec/ruby/core/set/reject_spec.rb b/spec/ruby/core/set/reject_spec.rb
index 91d0293415..b00a36812b 100644
--- a/spec/ruby/core/set/reject_spec.rb
+++ b/spec/ruby/core/set/reject_spec.rb
@@ -13,29 +13,29 @@ describe "Set#reject!" do
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)
+ @set.size.should.eql?(1)
- @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
it "returns self when self was modified" do
- @set.reject! { |x| true }.should equal(@set)
+ @set.reject! { |x| true }.should.equal?(@set)
end
it "returns nil when self was not modified" do
- @set.reject! { |x| false }.should be_nil
+ @set.reject! { |x| false }.should == nil
end
it "returns an Enumerator when passed no block" do
enum = @set.reject!
- enum.should be_an_instance_of(Enumerator)
+ enum.should.instance_of?(Enumerator)
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
diff --git a/spec/ruby/core/set/replace_spec.rb b/spec/ruby/core/set/replace_spec.rb
index c66a2d0ec3..2a51a024dc 100644
--- a/spec/ruby/core/set/replace_spec.rb
+++ b/spec/ruby/core/set/replace_spec.rb
@@ -13,7 +13,7 @@ describe "Set#replace" do
it "raises RuntimeError when called during iteration" do
set = Set[:a, :b, :c, :d, :e, :f]
set.each do |_m|
- -> { set.replace(Set[1, 2, 3]) }.should raise_error(RuntimeError, /iteration/)
+ -> { set.replace(Set[1, 2, 3]) }.should.raise(RuntimeError, /iteration/)
end
set.should == Set[:a, :b, :c, :d, :e, :f]
end
diff --git a/spec/ruby/core/set/shared/add.rb b/spec/ruby/core/set/shared/add.rb
index 9e797f5df9..8d6d83434f 100644
--- a/spec/ruby/core/set/shared/add.rb
+++ b/spec/ruby/core/set/shared/add.rb
@@ -5,10 +5,10 @@ describe :set_add, shared: true do
it "adds the passed Object to self" do
@set.send(@method, "dog")
- @set.should include("dog")
+ @set.should.include?("dog")
end
it "returns self" do
- @set.send(@method, "dog").should equal(@set)
+ @set.send(@method, "dog").should.equal?(@set)
end
end
diff --git a/spec/ruby/core/set/shared/collect.rb b/spec/ruby/core/set/shared/collect.rb
index bc58c231be..ad5c5afa59 100644
--- a/spec/ruby/core/set/shared/collect.rb
+++ b/spec/ruby/core/set/shared/collect.rb
@@ -10,7 +10,7 @@ describe :set_collect_bang, shared: true do
end
it "returns self" do
- @set.send(@method) { |x| x }.should equal(@set)
+ @set.send(@method) { |x| x }.should.equal?(@set)
end
it "replaces self with the return values of the block" do
diff --git a/spec/ruby/core/set/shared/difference.rb b/spec/ruby/core/set/shared/difference.rb
index f88987ed2a..8a17056a82 100644
--- a/spec/ruby/core/set/shared/difference.rb
+++ b/spec/ruby/core/set/shared/difference.rb
@@ -9,7 +9,7 @@ describe :set_difference, shared: true do
end
it "raises an ArgumentError when passed a non-Enumerable" do
- -> { @set.send(@method, 1) }.should raise_error(ArgumentError)
- -> { @set.send(@method, Object.new) }.should raise_error(ArgumentError)
+ -> { @set.send(@method, 1) }.should.raise(ArgumentError)
+ -> { @set.send(@method, Object.new) }.should.raise(ArgumentError)
end
end
diff --git a/spec/ruby/core/set/shared/include.rb b/spec/ruby/core/set/shared/include.rb
index b4d95cde24..82755ccf59 100644
--- a/spec/ruby/core/set/shared/include.rb
+++ b/spec/ruby/core/set/shared/include.rb
@@ -1,8 +1,8 @@
describe :set_include, shared: true do
it "returns true when self contains the passed Object" do
set = Set[:a, :b, :c]
- set.send(@method, :a).should be_true
- set.send(@method, :e).should be_false
+ set.send(@method, :a).should == true
+ set.send(@method, :e).should == false
end
describe "member equality" do
diff --git a/spec/ruby/core/set/shared/inspect.rb b/spec/ruby/core/set/shared/inspect.rb
index fbc7486acd..31bd8accfd 100644
--- a/spec/ruby/core/set/shared/inspect.rb
+++ b/spec/ruby/core/set/shared/inspect.rb
@@ -1,45 +1,45 @@
describe :set_inspect, shared: true do
it "returns a String representation of self" do
- Set[].send(@method).should be_kind_of(String)
- Set[nil, false, true].send(@method).should be_kind_of(String)
- Set[1, 2, 3].send(@method).should be_kind_of(String)
- Set["1", "2", "3"].send(@method).should be_kind_of(String)
- Set[:a, "b", Set[?c]].send(@method).should be_kind_of(String)
+ Set[].send(@method).should.is_a?(String)
+ Set[nil, false, true].send(@method).should.is_a?(String)
+ Set[1, 2, 3].send(@method).should.is_a?(String)
+ Set["1", "2", "3"].send(@method).should.is_a?(String)
+ Set[:a, "b", Set[?c]].send(@method).should.is_a?(String)
end
- ruby_version_is "3.5" do
+ ruby_version_is "4.0" do
it "does include the elements of the set" do
Set["1"].send(@method).should == 'Set["1"]'
end
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
it "does include the elements of the set" do
Set["1"].send(@method).should == '#<Set: {"1"}>'
end
end
it "puts spaces between the elements" do
- Set["1", "2"].send(@method).should include('", "')
+ Set["1", "2"].send(@method).should.include?('", "')
end
- ruby_version_is "3.5" do
+ ruby_version_is "4.0" do
it "correctly handles cyclic-references" do
set1 = Set[]
set2 = Set[set1]
set1 << set2
- set1.send(@method).should be_kind_of(String)
- set1.send(@method).should include("Set[...]")
+ set1.send(@method).should.is_a?(String)
+ set1.send(@method).should.include?("Set[...]")
end
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
it "correctly handles cyclic-references" do
set1 = Set[]
set2 = Set[set1]
set1 << set2
- set1.send(@method).should be_kind_of(String)
- set1.send(@method).should include("#<Set: {...}>")
+ set1.send(@method).should.is_a?(String)
+ set1.send(@method).should.include?("#<Set: {...}>")
end
end
end
diff --git a/spec/ruby/core/set/shared/intersection.rb b/spec/ruby/core/set/shared/intersection.rb
index 5ae4199c94..978a4924ef 100644
--- a/spec/ruby/core/set/shared/intersection.rb
+++ b/spec/ruby/core/set/shared/intersection.rb
@@ -9,7 +9,7 @@ describe :set_intersection, shared: true do
end
it "raises an ArgumentError when passed a non-Enumerable" do
- -> { @set.send(@method, 1) }.should raise_error(ArgumentError)
- -> { @set.send(@method, Object.new) }.should raise_error(ArgumentError)
+ -> { @set.send(@method, 1) }.should.raise(ArgumentError)
+ -> { @set.send(@method, Object.new) }.should.raise(ArgumentError)
end
end
diff --git a/spec/ruby/core/set/shared/select.rb b/spec/ruby/core/set/shared/select.rb
index 467b236ed3..0d4a53fffd 100644
--- a/spec/ruby/core/set/shared/select.rb
+++ b/spec/ruby/core/set/shared/select.rb
@@ -13,29 +13,29 @@ describe :set_select_bang, shared: true do
it "keeps every element from self for which the passed block returns true" do
@set.send(@method) { |x| x.size != 3 }
- @set.size.should eql(1)
+ @set.size.should.eql?(1)
- @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
it "returns self when self was modified" do
- @set.send(@method) { false }.should equal(@set)
+ @set.send(@method) { false }.should.equal?(@set)
end
it "returns nil when self was not modified" do
- @set.send(@method) { true }.should be_nil
+ @set.send(@method) { true }.should == nil
end
it "returns an Enumerator when passed no block" do
enum = @set.send(@method)
- enum.should be_an_instance_of(Enumerator)
+ enum.should.instance_of?(Enumerator)
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
diff --git a/spec/ruby/core/set/shared/union.rb b/spec/ruby/core/set/shared/union.rb
index 314f0e852d..dddf1716e5 100644
--- a/spec/ruby/core/set/shared/union.rb
+++ b/spec/ruby/core/set/shared/union.rb
@@ -9,7 +9,7 @@ describe :set_union, shared: true do
end
it "raises an ArgumentError when passed a non-Enumerable" do
- -> { @set.send(@method, 1) }.should raise_error(ArgumentError)
- -> { @set.send(@method, Object.new) }.should raise_error(ArgumentError)
+ -> { @set.send(@method, 1) }.should.raise(ArgumentError)
+ -> { @set.send(@method, Object.new) }.should.raise(ArgumentError)
end
end
diff --git a/spec/ruby/core/set/sortedset/sortedset_spec.rb b/spec/ruby/core/set/sortedset/sortedset_spec.rb
index 41f010e011..c8f65f0851 100644
--- a/spec/ruby/core/set/sortedset/sortedset_spec.rb
+++ b/spec/ruby/core/set/sortedset/sortedset_spec.rb
@@ -1,11 +1,11 @@
require_relative '../../../spec_helper'
describe "SortedSet" do
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
it "raises error including message that it has been extracted from the set stdlib" do
-> {
SortedSet
- }.should raise_error(RuntimeError) { |e|
+ }.should.raise(RuntimeError) { |e|
e.message.should.include?("The `SortedSet` class has been extracted from the `set` library")
}
end
diff --git a/spec/ruby/core/set/subset_spec.rb b/spec/ruby/core/set/subset_spec.rb
index cde61d7cd7..81869d4993 100644
--- a/spec/ruby/core/set/subset_spec.rb
+++ b/spec/ruby/core/set/subset_spec.rb
@@ -8,38 +8,28 @@ describe "Set#subset?" do
end
it "returns true if passed a Set that is equal to self or self is a subset of" do
- @set.subset?(@set).should be_true
- Set[].subset?(Set[]).should be_true
+ @set.subset?(@set).should == true
+ Set[].subset?(Set[]).should == true
- Set[].subset?(@set).should be_true
- Set[].subset?(Set[1, 2, 3]).should be_true
- Set[].subset?(Set["a", :b, ?c]).should be_true
+ Set[].subset?(@set).should == true
+ Set[].subset?(Set[1, 2, 3]).should == true
+ Set[].subset?(Set["a", :b, ?c]).should == true
- Set[1, 2, 3].subset?(@set).should be_true
- Set[1, 3].subset?(@set).should be_true
- Set[1, 2].subset?(@set).should be_true
- Set[1].subset?(@set).should be_true
+ Set[1, 2, 3].subset?(@set).should == true
+ Set[1, 3].subset?(@set).should == true
+ Set[1, 2].subset?(@set).should == true
+ Set[1].subset?(@set).should == true
- Set[5].subset?(@set).should be_false
- Set[1, 5].subset?(@set).should be_false
- Set[nil].subset?(@set).should be_false
- Set["test"].subset?(@set).should be_false
+ Set[5].subset?(@set).should == false
+ Set[1, 5].subset?(@set).should == false
+ Set[nil].subset?(@set).should == false
+ Set["test"].subset?(@set).should == false
end
it "raises an ArgumentError when passed a non-Set" do
- -> { Set[].subset?([]) }.should raise_error(ArgumentError)
- -> { Set[].subset?(1) }.should raise_error(ArgumentError)
- -> { Set[].subset?("test") }.should raise_error(ArgumentError)
- -> { Set[].subset?(Object.new) }.should raise_error(ArgumentError)
- end
-
- version_is(set_version, ""..."1.1.0") do #ruby_version_is ""..."3.3" do
- ruby_version_is ""..."3.5" do
- context "when comparing to a Set-like object" do
- it "returns true if passed a Set-like object that self is a subset of" do
- Set[1, 2, 3].subset?(SetSpecs::SetLike.new([1, 2, 3, 4])).should be_true
- end
- end
- end
+ -> { Set[].subset?([]) }.should.raise(ArgumentError)
+ -> { Set[].subset?(1) }.should.raise(ArgumentError)
+ -> { Set[].subset?("test") }.should.raise(ArgumentError)
+ -> { Set[].subset?(Object.new) }.should.raise(ArgumentError)
end
end
diff --git a/spec/ruby/core/set/superset_spec.rb b/spec/ruby/core/set/superset_spec.rb
index 9d7bab964a..7e7db2b179 100644
--- a/spec/ruby/core/set/superset_spec.rb
+++ b/spec/ruby/core/set/superset_spec.rb
@@ -7,35 +7,35 @@ describe "Set#superset?" do
end
it "returns true if passed a Set that equals self or self is a proper superset of" do
- @set.superset?(@set).should be_true
- Set[].superset?(Set[]).should be_true
+ @set.superset?(@set).should == true
+ Set[].superset?(Set[]).should == true
- @set.superset?(Set[]).should be_true
- Set[1, 2, 3].superset?(Set[]).should be_true
- Set["a", :b, ?c].superset?(Set[]).should be_true
+ @set.superset?(Set[]).should == true
+ Set[1, 2, 3].superset?(Set[]).should == true
+ Set["a", :b, ?c].superset?(Set[]).should == true
- @set.superset?(Set[1, 2, 3]).should be_true
- @set.superset?(Set[1, 3]).should be_true
- @set.superset?(Set[1, 2]).should be_true
- @set.superset?(Set[1]).should be_true
+ @set.superset?(Set[1, 2, 3]).should == true
+ @set.superset?(Set[1, 3]).should == true
+ @set.superset?(Set[1, 2]).should == true
+ @set.superset?(Set[1]).should == true
- @set.superset?(Set[5]).should be_false
- @set.superset?(Set[1, 5]).should be_false
- @set.superset?(Set[nil]).should be_false
- @set.superset?(Set["test"]).should be_false
+ @set.superset?(Set[5]).should == false
+ @set.superset?(Set[1, 5]).should == false
+ @set.superset?(Set[nil]).should == false
+ @set.superset?(Set["test"]).should == false
end
it "raises an ArgumentError when passed a non-Set" do
- -> { Set[].superset?([]) }.should raise_error(ArgumentError)
- -> { Set[].superset?(1) }.should raise_error(ArgumentError)
- -> { Set[].superset?("test") }.should raise_error(ArgumentError)
- -> { Set[].superset?(Object.new) }.should raise_error(ArgumentError)
+ -> { Set[].superset?([]) }.should.raise(ArgumentError)
+ -> { Set[].superset?(1) }.should.raise(ArgumentError)
+ -> { Set[].superset?("test") }.should.raise(ArgumentError)
+ -> { Set[].superset?(Object.new) }.should.raise(ArgumentError)
end
- ruby_version_is ""..."3.5" do
+ ruby_version_is ""..."4.0" do
context "when comparing to a Set-like object" do
it "returns true if passed a Set-like object that self is a superset of" do
- Set[1, 2, 3, 4].superset?(SetSpecs::SetLike.new([1, 2, 3])).should be_true
+ Set[1, 2, 3, 4].superset?(SetSpecs::SetLike.new([1, 2, 3])).should == true
end
end
end