mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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
This commit is contained in:
parent
bb3d705819
commit
9dbb2bfd73
44 changed files with 698 additions and 566 deletions
|
@ -1,8 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
require_relative 'shared/add'
|
|
||||||
|
|
||||||
describe "SortedSet#add" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
require_relative 'shared/add'
|
||||||
|
|
||||||
|
describe "SortedSet#add" do
|
||||||
it_behaves_like :sorted_set_add, :add
|
it_behaves_like :sorted_set_add, :add
|
||||||
|
|
||||||
it "takes only values which responds <=>" do
|
it "takes only values which responds <=>" do
|
||||||
|
@ -16,9 +18,9 @@ describe "SortedSet#add" do
|
||||||
# Therefore the <=> incompatibility is only noticed on sorting.
|
# Therefore the <=> incompatibility is only noticed on sorting.
|
||||||
-> { SortedSet['1', '2'].add(3).to_a }.should raise_error(ArgumentError)
|
-> { SortedSet['1', '2'].add(3).to_a }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "SortedSet#add?" do
|
describe "SortedSet#add?" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet.new
|
@set = SortedSet.new
|
||||||
end
|
end
|
||||||
|
@ -36,4 +38,5 @@ describe "SortedSet#add?" do
|
||||||
@set.add?("cat")
|
@set.add?("cat")
|
||||||
@set.add?("cat").should be_nil
|
@set.add?("cat").should be_nil
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
require_relative 'shared/add'
|
|
||||||
|
|
||||||
describe "SortedSet#<<" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
require_relative 'shared/add'
|
||||||
|
|
||||||
|
describe "SortedSet#<<" do
|
||||||
it_behaves_like :sorted_set_add, :<<
|
it_behaves_like :sorted_set_add, :<<
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/include'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#===" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/include'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#===" do
|
||||||
it_behaves_like :sorted_set_include, :===
|
it_behaves_like :sorted_set_include, :===
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#classify" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#classify" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["one", "two", "three", "four"]
|
@set = SortedSet["one", "two", "three", "four"]
|
||||||
end
|
end
|
||||||
|
@ -24,4 +26,5 @@ describe "SortedSet#classify" do
|
||||||
classified = @set.classify { |x| x.length }
|
classified = @set.classify { |x| x.length }
|
||||||
classified.should == { 3 => SortedSet["one", "two"], 4 => SortedSet["four"], 5 => SortedSet["three"] }
|
classified.should == { 3 => SortedSet["one", "two"], 4 => SortedSet["four"], 5 => SortedSet["three"] }
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#clear" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#clear" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["one", "two", "three", "four"]
|
@set = SortedSet["one", "two", "three", "four"]
|
||||||
end
|
end
|
||||||
|
@ -14,4 +16,5 @@ describe "SortedSet#clear" do
|
||||||
it "returns self" do
|
it "returns self" do
|
||||||
@set.clear.should equal(@set)
|
@set.clear.should equal(@set)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
require_relative 'shared/collect'
|
|
||||||
|
|
||||||
describe "SortedSet#collect!" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
require_relative 'shared/collect'
|
||||||
|
|
||||||
|
describe "SortedSet#collect!" do
|
||||||
it_behaves_like :sorted_set_collect_bang, :collect!
|
it_behaves_like :sorted_set_collect_bang, :collect!
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet[]" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet[]" do
|
||||||
it "returns a new SortedSet populated with the passed Objects" do
|
it "returns a new SortedSet populated with the passed Objects" do
|
||||||
set = SortedSet[1, 2, 3]
|
set = SortedSet[1, 2, 3]
|
||||||
|
|
||||||
|
@ -12,4 +14,5 @@ describe "SortedSet[]" do
|
||||||
set.should include(2)
|
set.should include(2)
|
||||||
set.should include(3)
|
set.should include(3)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#delete_if" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#delete_if" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["one", "two", "three"]
|
@set = SortedSet["one", "two", "three"]
|
||||||
end
|
end
|
||||||
|
@ -35,4 +37,5 @@ describe "SortedSet#delete_if" do
|
||||||
@set.should_not include("two")
|
@set.should_not include("two")
|
||||||
@set.should include("three")
|
@set.should include("three")
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#delete" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#delete" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["a", "b", "c"]
|
@set = SortedSet["a", "b", "c"]
|
||||||
end
|
end
|
||||||
|
@ -15,9 +17,9 @@ describe "SortedSet#delete" do
|
||||||
@set.delete("a").should equal(@set)
|
@set.delete("a").should equal(@set)
|
||||||
@set.delete("x").should equal(@set)
|
@set.delete("x").should equal(@set)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "SortedSet#delete?" do
|
describe "SortedSet#delete?" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["a", "b", "c"]
|
@set = SortedSet["a", "b", "c"]
|
||||||
end
|
end
|
||||||
|
@ -34,4 +36,5 @@ describe "SortedSet#delete?" do
|
||||||
it "returns nil when the passed Object is not in self" do
|
it "returns nil when the passed Object is not in self" do
|
||||||
@set.delete?("x").should be_nil
|
@set.delete?("x").should be_nil
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
require_relative 'shared/difference'
|
|
||||||
|
|
||||||
describe "SortedSet#difference" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
require_relative 'shared/difference'
|
||||||
|
|
||||||
|
describe "SortedSet#difference" do
|
||||||
it_behaves_like :sorted_set_difference, :difference
|
it_behaves_like :sorted_set_difference, :difference
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#divide" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#divide" do
|
||||||
it "divides self into a set of subsets based on the blocks return values" 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 = 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"]]
|
set.map { |x| x.to_a }.to_a.sort.should == [["five", "four"], ["one", "two"], ["three"]]
|
||||||
|
@ -18,9 +20,9 @@ describe "SortedSet#divide" do
|
||||||
# it "raises a LocalJumpError when not passed a block" do
|
# it "raises a LocalJumpError when not passed a block" do
|
||||||
# lambda { SortedSet[1].divide }.should raise_error(LocalJumpError)
|
# lambda { SortedSet[1].divide }.should raise_error(LocalJumpError)
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "SortedSet#divide when passed a block with an arity of 2" do
|
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
|
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 = 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]]
|
set.map { |x| x.to_a }.to_a.sort.should == [[1], [3, 4], [6], [9, 10, 11]]
|
||||||
|
@ -31,4 +33,5 @@ describe "SortedSet#divide when passed a block with an arity of 2" do
|
||||||
SortedSet[1, 2].divide { |x, y| ret << [x, y] }
|
SortedSet[1, 2].divide { |x, y| ret << [x, y] }
|
||||||
ret.should == [[1, 1], [1, 2], [2, 1], [2, 2]]
|
ret.should == [[1, 1], [1, 2], [2, 1], [2, 2]]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#each" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#each" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet[1, 2, 3]
|
@set = SortedSet[1, 2, 3]
|
||||||
end
|
end
|
||||||
|
@ -23,4 +25,5 @@ describe "SortedSet#each" do
|
||||||
enum.each { |x| ret << x }
|
enum.each { |x| ret << x }
|
||||||
ret.sort.should == [1, 2, 3]
|
ret.sort.should == [1, 2, 3]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#empty?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#empty?" do
|
||||||
it "returns true if self is empty" do
|
it "returns true if self is empty" do
|
||||||
SortedSet[].empty?.should be_true
|
SortedSet[].empty?.should be_true
|
||||||
SortedSet[1].empty?.should be_false
|
SortedSet[1].empty?.should be_false
|
||||||
SortedSet[1,2,3].empty?.should be_false
|
SortedSet[1,2,3].empty?.should be_false
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#eql?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#eql?" do
|
||||||
it "returns true when the passed argument is a SortedSet and contains the same elements" do
|
it "returns true when the passed argument is a SortedSet and contains the same elements" do
|
||||||
SortedSet[].should eql(SortedSet[])
|
SortedSet[].should eql(SortedSet[])
|
||||||
SortedSet[1, 2, 3].should eql(SortedSet[1, 2, 3])
|
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 eql(SortedSet[3, 2, 1])
|
||||||
|
|
||||||
# SortedSet["a", :b, ?c].should eql(SortedSet[?c, :b, "a"])
|
# 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[1.0, 2, 3])
|
||||||
SortedSet[1, 2, 3].should_not eql(SortedSet[2, 3])
|
SortedSet[1, 2, 3].should_not eql(SortedSet[2, 3])
|
||||||
SortedSet[1, 2, 3].should_not eql(SortedSet[])
|
SortedSet[1, 2, 3].should_not eql(SortedSet[])
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#==" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
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
|
it "returns true when the passed Object is a SortedSet and self and the Object contain the same elements" do
|
||||||
SortedSet[].should == SortedSet[]
|
SortedSet[].should == SortedSet[]
|
||||||
SortedSet[1, 2, 3].should == SortedSet[1, 2, 3]
|
SortedSet[1, 2, 3].should == SortedSet[1, 2, 3]
|
||||||
|
@ -10,4 +12,5 @@ describe "SortedSet#==" do
|
||||||
SortedSet[1, 2, 3].should_not == SortedSet[1.0, 2, 3]
|
SortedSet[1, 2, 3].should_not == SortedSet[1.0, 2, 3]
|
||||||
SortedSet[1, 2, 3].should_not == [1, 2, 3]
|
SortedSet[1, 2, 3].should_not == [1, 2, 3]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#^" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#^" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet[1, 2, 3, 4]
|
@set = SortedSet[1, 2, 3, 4]
|
||||||
end
|
end
|
||||||
|
@ -15,4 +17,5 @@ describe "SortedSet#^" do
|
||||||
-> { @set ^ 3 }.should raise_error(ArgumentError)
|
-> { @set ^ 3 }.should raise_error(ArgumentError)
|
||||||
-> { @set ^ Object.new }.should raise_error(ArgumentError)
|
-> { @set ^ Object.new }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/select'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
ruby_version_is "2.6" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/select'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
ruby_version_is "2.6" do
|
||||||
describe "SortedSet#filter!" do
|
describe "SortedSet#filter!" do
|
||||||
it_behaves_like :sorted_set_select_bang, :filter!
|
it_behaves_like :sorted_set_select_bang, :filter!
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#flatten_merge" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#flatten_merge" do
|
||||||
it "is protected" do
|
it "is protected" do
|
||||||
SortedSet.should have_protected_instance_method("flatten_merge")
|
SortedSet.should have_protected_instance_method("flatten_merge")
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
# Note: Flatten make little sens on sorted sets, because SortedSets are not (by default)
|
ruby_version_is ""..."3.0" do
|
||||||
# comparable. For a SortedSet to be both valid and nested, we need to define a comparison operator:
|
require 'set'
|
||||||
module SortedSet_FlattenSpecs
|
|
||||||
|
# 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
|
class ComparableSortedSet < SortedSet
|
||||||
def <=>(other)
|
def <=>(other)
|
||||||
return puts "#{other} vs #{self}" unless other.is_a?(ComparableSortedSet)
|
return puts "#{other} vs #{self}" unless other.is_a?(ComparableSortedSet)
|
||||||
to_a <=> other.to_a
|
to_a <=> other.to_a
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "SortedSet#flatten" do
|
describe "SortedSet#flatten" do
|
||||||
it "returns a copy of self with each included SortedSet flattened" do
|
it "returns a copy of self with each included SortedSet flattened" do
|
||||||
klass = SortedSet_FlattenSpecs::ComparableSortedSet
|
klass = SortedSet_FlattenSpecs::ComparableSortedSet
|
||||||
set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]]
|
set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]]
|
||||||
|
@ -21,9 +23,9 @@ describe "SortedSet#flatten" do
|
||||||
flattened_set.should_not equal(set)
|
flattened_set.should_not equal(set)
|
||||||
flattened_set.should == klass[1, 2, 3, 4, 5, 6, 7, 8]
|
flattened_set.should == klass[1, 2, 3, 4, 5, 6, 7, 8]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "SortedSet#flatten!" do
|
describe "SortedSet#flatten!" do
|
||||||
it "flattens self" do
|
it "flattens self" do
|
||||||
klass = SortedSet_FlattenSpecs::ComparableSortedSet
|
klass = SortedSet_FlattenSpecs::ComparableSortedSet
|
||||||
set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]]
|
set = klass[klass[1,2], klass[3,4], klass[5,6,7], klass[8]]
|
||||||
|
@ -41,4 +43,5 @@ describe "SortedSet#flatten!" do
|
||||||
set = SortedSet[1, 2, 3, 4]
|
set = SortedSet[1, 2, 3, 4]
|
||||||
set.flatten!.should be_nil
|
set.flatten!.should be_nil
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#hash" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#hash" do
|
||||||
it "is static" do
|
it "is static" do
|
||||||
SortedSet[].hash.should == SortedSet[].hash
|
SortedSet[].hash.should == SortedSet[].hash
|
||||||
SortedSet[1, 2, 3].hash.should == SortedSet[1, 2, 3].hash
|
SortedSet[1, 2, 3].hash.should == SortedSet[1, 2, 3].hash
|
||||||
|
@ -10,4 +12,5 @@ describe "SortedSet#hash" do
|
||||||
SortedSet[].hash.should_not == SortedSet[1, 2, 3].hash
|
SortedSet[].hash.should_not == SortedSet[1, 2, 3].hash
|
||||||
SortedSet[1, 2, 3].hash.should_not == SortedSet["a", "b", "c"].hash
|
SortedSet[1, 2, 3].hash.should_not == SortedSet["a", "b", "c"].hash
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/include'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#include?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/include'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#include?" do
|
||||||
it_behaves_like :sorted_set_include, :include?
|
it_behaves_like :sorted_set_include, :include?
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#initialize" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#initialize" do
|
||||||
it "is private" do
|
it "is private" do
|
||||||
SortedSet.should have_private_instance_method("initialize")
|
SortedSet.should have_private_instance_method("initialize")
|
||||||
end
|
end
|
||||||
|
@ -27,4 +29,5 @@ describe "SortedSet#initialize" do
|
||||||
# Therefore the <=> incompatibility is only noticed on sorting.
|
# Therefore the <=> incompatibility is only noticed on sorting.
|
||||||
-> { SortedSet.new(['00', nil]).to_a }.should raise_error(ArgumentError)
|
-> { SortedSet.new(['00', nil]).to_a }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#inspect" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#inspect" do
|
||||||
it "returns a String representation of self" do
|
it "returns a String representation of self" do
|
||||||
SortedSet[].inspect.should be_kind_of(String)
|
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)
|
||||||
SortedSet["1", "2", "3"].inspect.should be_kind_of(String)
|
SortedSet["1", "2", "3"].inspect.should be_kind_of(String)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/intersection'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#intersection" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/intersection'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#intersection" do
|
||||||
it_behaves_like :sorted_set_intersection, :intersection
|
it_behaves_like :sorted_set_intersection, :intersection
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "SortedSet#&" do
|
describe "SortedSet#&" do
|
||||||
it_behaves_like :sorted_set_intersection, :&
|
it_behaves_like :sorted_set_intersection, :&
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#keep_if" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#keep_if" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["one", "two", "three"]
|
@set = SortedSet["one", "two", "three"]
|
||||||
end
|
end
|
||||||
|
@ -28,4 +30,5 @@ describe "SortedSet#keep_if" do
|
||||||
enum.each { |x| x.size != 3 }
|
enum.each { |x| x.size != 3 }
|
||||||
@set.to_a.should == ["three"]
|
@set.to_a.should == ["three"]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/length'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#length" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/length'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#length" do
|
||||||
it_behaves_like :sorted_set_length, :length
|
it_behaves_like :sorted_set_length, :length
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
require_relative 'shared/collect'
|
|
||||||
|
|
||||||
describe "SortedSet#map!" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
require_relative 'shared/collect'
|
||||||
|
|
||||||
|
describe "SortedSet#map!" do
|
||||||
it_behaves_like :sorted_set_collect_bang, :map!
|
it_behaves_like :sorted_set_collect_bang, :map!
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/include'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#member?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/include'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#member?" do
|
||||||
it_behaves_like :sorted_set_include, :member?
|
it_behaves_like :sorted_set_include, :member?
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#merge" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#merge" do
|
||||||
it "adds the elements of the passed Enumerable to self" 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["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]
|
SortedSet[1, 2].merge([3, 4]).should == SortedSet[1, 2, 3, 4]
|
||||||
|
@ -16,4 +18,5 @@ describe "SortedSet#merge" do
|
||||||
-> { SortedSet[1, 2].merge(1) }.should raise_error(ArgumentError)
|
-> { SortedSet[1, 2].merge(1) }.should raise_error(ArgumentError)
|
||||||
-> { SortedSet[1, 2].merge(Object.new) }.should raise_error(ArgumentError)
|
-> { SortedSet[1, 2].merge(Object.new) }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
require_relative 'shared/difference'
|
|
||||||
|
|
||||||
describe "SortedSet#-" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
require_relative 'shared/difference'
|
||||||
|
|
||||||
|
describe "SortedSet#-" do
|
||||||
it_behaves_like :sorted_set_difference, :-
|
it_behaves_like :sorted_set_difference, :-
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/union'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#+" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/union'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#+" do
|
||||||
it_behaves_like :sorted_set_union, :+
|
it_behaves_like :sorted_set_union, :+
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#pretty_print_cycle" do
|
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
|
it "passes the 'pretty print' representation of a self-referencing SortedSet to the pretty print writer" do
|
||||||
pp = mock("PrettyPrint")
|
pp = mock("PrettyPrint")
|
||||||
pp.should_receive(:text).with("#<SortedSet: {...}>")
|
pp.should_receive(:text).with("#<SortedSet: {...}>")
|
||||||
SortedSet[1, 2, 3].pretty_print_cycle(pp)
|
SortedSet[1, 2, 3].pretty_print_cycle(pp)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#pretty_print" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#pretty_print" do
|
||||||
it "passes the 'pretty print' representation of self to the pretty print writer" do
|
it "passes the 'pretty print' representation of self to the pretty print writer" do
|
||||||
pp = mock("PrettyPrint")
|
pp = mock("PrettyPrint")
|
||||||
set = SortedSet[1, 2, 3]
|
set = SortedSet[1, 2, 3]
|
||||||
|
@ -14,4 +16,5 @@ describe "SortedSet#pretty_print" do
|
||||||
|
|
||||||
set.pretty_print(pp)
|
set.pretty_print(pp)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#proper_subset?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#proper_subset?" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet[1, 2, 3, 4]
|
@set = SortedSet[1, 2, 3, 4]
|
||||||
end
|
end
|
||||||
|
@ -30,4 +32,5 @@ describe "SortedSet#proper_subset?" do
|
||||||
-> { SortedSet[].proper_subset?("test") }.should raise_error(ArgumentError)
|
-> { SortedSet[].proper_subset?("test") }.should raise_error(ArgumentError)
|
||||||
-> { SortedSet[].proper_subset?(Object.new) }.should raise_error(ArgumentError)
|
-> { SortedSet[].proper_subset?(Object.new) }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#proper_superset?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#proper_superset?" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet[1, 2, 3, 4]
|
@set = SortedSet[1, 2, 3, 4]
|
||||||
end
|
end
|
||||||
|
@ -30,4 +32,5 @@ describe "SortedSet#proper_superset?" do
|
||||||
-> { SortedSet[].proper_superset?("test") }.should raise_error(ArgumentError)
|
-> { SortedSet[].proper_superset?("test") }.should raise_error(ArgumentError)
|
||||||
-> { SortedSet[].proper_superset?(Object.new) }.should raise_error(ArgumentError)
|
-> { SortedSet[].proper_superset?(Object.new) }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#reject!" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#reject!" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["one", "two", "three"]
|
@set = SortedSet["one", "two", "three"]
|
||||||
end
|
end
|
||||||
|
@ -39,4 +41,5 @@ describe "SortedSet#reject!" do
|
||||||
@set.should_not include("two")
|
@set.should_not include("two")
|
||||||
@set.should include("three")
|
@set.should include("three")
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#replace" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#replace" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["a", "b", "c"]
|
@set = SortedSet["a", "b", "c"]
|
||||||
end
|
end
|
||||||
|
@ -14,4 +16,5 @@ describe "SortedSet#replace" do
|
||||||
it "accepts any enumerable as other" do
|
it "accepts any enumerable as other" do
|
||||||
@set.replace([1, 2, 3]).should == SortedSet[1, 2, 3]
|
@set.replace([1, 2, 3]).should == SortedSet[1, 2, 3]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/select'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#select!" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/select'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#select!" do
|
||||||
it_behaves_like :sorted_set_select_bang, :select!
|
it_behaves_like :sorted_set_select_bang, :select!
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/length'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#size" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/length'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#size" do
|
||||||
it_behaves_like :sorted_set_length, :size
|
it_behaves_like :sorted_set_length, :size
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#subset?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#subset?" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet[1, 2, 3, 4]
|
@set = SortedSet[1, 2, 3, 4]
|
||||||
end
|
end
|
||||||
|
@ -30,4 +32,5 @@ describe "SortedSet#subset?" do
|
||||||
-> { SortedSet[].subset?("test") }.should raise_error(ArgumentError)
|
-> { SortedSet[].subset?("test") }.should raise_error(ArgumentError)
|
||||||
-> { SortedSet[].subset?(Object.new) }.should raise_error(ArgumentError)
|
-> { SortedSet[].subset?(Object.new) }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#subtract" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#subtract" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet["a", "b", "c"]
|
@set = SortedSet["a", "b", "c"]
|
||||||
end
|
end
|
||||||
|
@ -14,4 +16,5 @@ describe "SortedSet#subtract" do
|
||||||
it "accepts any enumerable as other" do
|
it "accepts any enumerable as other" do
|
||||||
@set.subtract(["c"]).should == SortedSet["a", "b"]
|
@set.subtract(["c"]).should == SortedSet["a", "b"]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#superset?" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#superset?" do
|
||||||
before :each do
|
before :each do
|
||||||
@set = SortedSet[1, 2, 3, 4]
|
@set = SortedSet[1, 2, 3, 4]
|
||||||
end
|
end
|
||||||
|
@ -30,4 +32,5 @@ describe "SortedSet#superset?" do
|
||||||
-> { SortedSet[].superset?("test") }.should raise_error(ArgumentError)
|
-> { SortedSet[].superset?("test") }.should raise_error(ArgumentError)
|
||||||
-> { SortedSet[].superset?(Object.new) }.should raise_error(ArgumentError)
|
-> { SortedSet[].superset?(Object.new) }.should raise_error(ArgumentError)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#to_a" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#to_a" do
|
||||||
it "returns an array containing elements" do
|
it "returns an array containing elements" do
|
||||||
set = SortedSet.new [1, 2, 3]
|
set = SortedSet.new [1, 2, 3]
|
||||||
set.to_a.should == [1, 2, 3]
|
set.to_a.should == [1, 2, 3]
|
||||||
|
@ -14,4 +16,5 @@ describe "SortedSet#to_a" do
|
||||||
set = SortedSet.new [5, 6, 4, 4]
|
set = SortedSet.new [5, 6, 4, 4]
|
||||||
set.to_a.should == [4, 5, 6]
|
set.to_a.should == [4, 5, 6]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
require_relative '../../../spec_helper'
|
require_relative '../../../spec_helper'
|
||||||
require_relative 'shared/union'
|
|
||||||
require 'set'
|
|
||||||
|
|
||||||
describe "SortedSet#union" do
|
ruby_version_is ""..."3.0" do
|
||||||
|
require_relative 'shared/union'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
|
describe "SortedSet#union" do
|
||||||
it_behaves_like :sorted_set_union, :union
|
it_behaves_like :sorted_set_union, :union
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "SortedSet#|" do
|
describe "SortedSet#|" do
|
||||||
it_behaves_like :sorted_set_union, :|
|
it_behaves_like :sorted_set_union, :|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue