diff options
Diffstat (limited to 'spec/ruby/library/set')
112 files changed, 0 insertions, 2266 deletions
diff --git a/spec/ruby/library/set/add_spec.rb b/spec/ruby/library/set/add_spec.rb deleted file mode 100644 index 68356cc111..0000000000 --- a/spec/ruby/library/set/add_spec.rb +++ /dev/null @@ -1,27 +0,0 @@ -require_relative '../../spec_helper' -require 'set' -require_relative 'shared/add' - -describe "Set#add" do - it_behaves_like :set_add, :add -end - -describe "Set#add?" do - before :each do - @set = Set.new - 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 - end -end diff --git a/spec/ruby/library/set/append_spec.rb b/spec/ruby/library/set/append_spec.rb deleted file mode 100644 index 8b3498b779..0000000000 --- a/spec/ruby/library/set/append_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require 'set' -require_relative 'shared/add' - -describe "Set#<<" do - it_behaves_like :set_add, :<< -end diff --git a/spec/ruby/library/set/case_compare_spec.rb b/spec/ruby/library/set/case_compare_spec.rb deleted file mode 100644 index 193006dbda..0000000000 --- a/spec/ruby/library/set/case_compare_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/include' -require 'set' - -ruby_version_is "2.5" do - describe "Set#===" do - it_behaves_like :set_include, :=== - - it "is an alias for include?" do - set = Set.new - set.method(:===).should == set.method(:include?) - end - end -end diff --git a/spec/ruby/library/set/case_equality_spec.rb b/spec/ruby/library/set/case_equality_spec.rb deleted file mode 100644 index 875630612e..0000000000 --- a/spec/ruby/library/set/case_equality_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/include' -require 'set' - -ruby_version_is "2.5" do - describe "Set#===" do - it_behaves_like :set_include, :=== - end -end diff --git a/spec/ruby/library/set/classify_spec.rb b/spec/ruby/library/set/classify_spec.rb deleted file mode 100644 index ec600c91d6..0000000000 --- a/spec/ruby/library/set/classify_spec.rb +++ /dev/null @@ -1,27 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#classify" do - before :each do - @set = Set["one", "two", "three", "four"] - end - - it "yields each Object in self" do - res = [] - @set.classify { |x| res << x } - res.sort.should == ["one", "two", "three", "four"].sort - 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 => Set["one", "two"], 4 => Set["four"], 5 => Set["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 => Set["one", "two"], 4 => Set["four"], 5 => Set["three"] } - end -end diff --git a/spec/ruby/library/set/clear_spec.rb b/spec/ruby/library/set/clear_spec.rb deleted file mode 100644 index 2b1c9c5b5a..0000000000 --- a/spec/ruby/library/set/clear_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#clear" do - before :each do - @set = Set["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) - end -end diff --git a/spec/ruby/library/set/collect_spec.rb b/spec/ruby/library/set/collect_spec.rb deleted file mode 100644 index f8813a9331..0000000000 --- a/spec/ruby/library/set/collect_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require 'set' -require_relative 'shared/collect' - -describe "Set#collect!" do - it_behaves_like :set_collect_bang, :collect! -end diff --git a/spec/ruby/library/set/compare_by_identity_spec.rb b/spec/ruby/library/set/compare_by_identity_spec.rb deleted file mode 100644 index 01b66ec92b..0000000000 --- a/spec/ruby/library/set/compare_by_identity_spec.rb +++ /dev/null @@ -1,143 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#compare_by_identity" do - it "compares its members by identity" do - a = "a" - b1 = "b" - b2 = "b" - - set = Set.new - set.compare_by_identity - set.merge([a, a, b1, b2]) - set.to_a.sort.should == [a, b1, b2].sort - end - - it "causes future comparisons on the receiver to be made by identity" do - elt = [1] - set = Set.new - set << elt - set.member?(elt.dup).should be_true - set.compare_by_identity - set.member?(elt.dup).should be_false - end - - it "rehashes internally so that old members can be looked up" do - set = Set.new - (1..10).each { |k| set << k } - o = Object.new - def o.hash; 123; end - set << o - set.compare_by_identity - set.member?(o).should be_true - end - - it "returns self" do - set = Set.new - result = set.compare_by_identity - 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 == true - set.to_a.should == [:foo] - end - - it "uses the semantics of BasicObject#equal? to determine members identity" do - :a.equal?(:a).should == true - Set.new.compare_by_identity.merge([:a, :a]).to_a.should == [:a] - - ary1 = [1] - ary2 = [1] - ary1.equal?(ary2).should == false - Set.new.compare_by_identity.merge([ary1, ary2]).to_a.sort.should == [ary1, ary2].sort - end - - it "uses #equal? semantics, but doesn't actually call #equal? to determine identity" do - set = Set.new.compare_by_identity - obj = mock("equal") - obj.should_not_receive(:equal?) - set << :foo - set << obj - set.to_a.should == [:foo, obj] - end - - it "does not call #hash on members" do - elt = mock("element") - elt.should_not_receive(:hash) - set = Set.new.compare_by_identity - set << elt - set.member?(elt).should be_true - end - - it "regards #dup'd objects as having different identities" do - a1 = "a" - a2 = a1.dup - - set = Set.new.compare_by_identity - set.merge([a1, a2]) - set.to_a.sort.should == [a1, a2].sort - end - - it "regards #clone'd objects as having different identities" do - a1 = "a" - a2 = a1.clone - - set = Set.new.compare_by_identity - set.merge([a1, a2]) - set.to_a.sort.should == [a1, a2].sort - end - - it "raises a #{frozen_error_class} on frozen sets" do - set = Set.new.freeze - lambda { - set.compare_by_identity - }.should raise_error(frozen_error_class, /frozen Hash/) - end - - it "persists over #dups" do - set = Set.new.compare_by_identity - set << :a - set_dup = set.dup - set_dup.should == set - set_dup << :a - set_dup.to_a.should == [:a] - end - - it "persists over #clones" do - set = Set.new.compare_by_identity - set << :a - set_clone = set.clone - set_clone.should == set - set_clone << :a - set_clone.to_a.should == [:a] - end - - it "is not equal to set what does not compare by identity" do - Set.new([1, 2]).should == Set.new([1, 2]) - Set.new([1, 2]).should_not == Set.new([1, 2]).compare_by_identity - end -end - -describe "Set#compare_by_identity?" do - it "returns false by default" do - Set.new.compare_by_identity?.should == false - end - - it "returns true once #compare_by_identity has been invoked on self" do - set = Set.new - set.compare_by_identity - set.compare_by_identity?.should == true - end - - it "returns true when called multiple times on the same set" do - set = Set.new - set.compare_by_identity - set.compare_by_identity?.should == true - set.compare_by_identity?.should == true - set.compare_by_identity?.should == true - end -end diff --git a/spec/ruby/library/set/constructor_spec.rb b/spec/ruby/library/set/constructor_spec.rb deleted file mode 100644 index bb84861514..0000000000 --- a/spec/ruby/library/set/constructor_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -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.should include(1) - set.should include(2) - set.should include(3) - end -end diff --git a/spec/ruby/library/set/delete_if_spec.rb b/spec/ruby/library/set/delete_if_spec.rb deleted file mode 100644 index 33caeeaab7..0000000000 --- a/spec/ruby/library/set/delete_if_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#delete_if" do - before :each do - @set = Set["one", "two", "three"] - end - - it "yields every element of self" do - ret = [] - @set.delete_if { |x| ret << x } - ret.sort.should == ["one", "two", "three"].sort - 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) - - @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) - - enum.each { |x| x.size == 3 } - - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end -end diff --git a/spec/ruby/library/set/delete_spec.rb b/spec/ruby/library/set/delete_spec.rb deleted file mode 100644 index b12524384a..0000000000 --- a/spec/ruby/library/set/delete_spec.rb +++ /dev/null @@ -1,37 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#delete" do - before :each do - @set = Set["a", "b", "c"] - end - - it "deletes the passed Object from self" do - @set.delete("a") - @set.should_not include("a") - end - - it "returns self" do - @set.delete("a").should equal(@set) - @set.delete("x").should equal(@set) - end -end - -describe "Set#delete?" do - before :each do - @set = Set["a", "b", "c"] - 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 - end -end diff --git a/spec/ruby/library/set/difference_spec.rb b/spec/ruby/library/set/difference_spec.rb deleted file mode 100644 index 422f2ed3c7..0000000000 --- a/spec/ruby/library/set/difference_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require 'set' -require_relative 'shared/difference' - -describe "Set#difference" do - it_behaves_like :set_difference, :difference -end diff --git a/spec/ruby/library/set/disjoint_spec.rb b/spec/ruby/library/set/disjoint_spec.rb deleted file mode 100644 index ea3b141455..0000000000 --- a/spec/ruby/library/set/disjoint_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#disjoint?" do - it "returns false when two Sets have at least one element in common" do - Set[1, 2].disjoint?(Set[2, 3]).should == false - end - - it "returns true when two Sets have no element in common" do - Set[1, 2].disjoint?(Set[3, 4]).should == true - end - - 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 - 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 - end - end -end diff --git a/spec/ruby/library/set/divide_spec.rb b/spec/ruby/library/set/divide_spec.rb deleted file mode 100644 index fdd8cd9622..0000000000 --- a/spec/ruby/library/set/divide_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#divide" do - it "divides self into a set of subsets based on the blocks return values" do - set = Set["one", "two", "three", "four", "five"].divide { |x| x.length } - set.map { |x| x.to_a.sort }.sort.should == [["five", "four"], ["one", "two"], ["three"]] - end - - it "yields each Object to the block" do - ret = [] - Set["one", "two", "three", "four", "five"].divide { |x| ret << x } - ret.sort.should == ["five", "four", "one", "three", "two"] - end - - # BUG: Does not raise a LocalJumpError, but a NoMethodError - # - # it "raises a LocalJumpError when not passed a block" do - # lambda { Set[1].divide }.should raise_error(LocalJumpError) - # end -end - -describe "Set#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 = Set[1, 3, 4, 6, 9, 10, 11].divide { |x, y| (x - y).abs == 1 } - set.map{ |x| x.to_a.sort }.sort.should == [[1], [3, 4], [6], [9, 10, 11]] - end - - it "yields each two Object to the block" do - ret = [] - Set[1, 2].divide { |x, y| ret << [x, y] } - ret.sort.should == [[1, 1], [1, 2], [2, 1], [2, 2]] - end -end diff --git a/spec/ruby/library/set/each_spec.rb b/spec/ruby/library/set/each_spec.rb deleted file mode 100644 index 9bb5ead03a..0000000000 --- a/spec/ruby/library/set/each_spec.rb +++ /dev/null @@ -1,26 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#each" do - before :each do - @set = Set[1, 2, 3] - end - - it "yields each Object in self" do - ret = [] - @set.each { |x| ret << x } - ret.sort.should == [1, 2, 3] - 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 - - ret = [] - enum.each { |x| ret << x } - ret.sort.should == [1, 2, 3] - end -end diff --git a/spec/ruby/library/set/empty_spec.rb b/spec/ruby/library/set/empty_spec.rb deleted file mode 100644 index 1789a664c7..0000000000 --- a/spec/ruby/library/set/empty_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -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 - end -end diff --git a/spec/ruby/library/set/enumerable/to_set_spec.rb b/spec/ruby/library/set/enumerable/to_set_spec.rb deleted file mode 100644 index 0f5504fef2..0000000000 --- a/spec/ruby/library/set/enumerable/to_set_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "Enumerable#to_set" do - it "returns a new Set created from self" do - [1, 2, 3].to_set.should == Set[1, 2, 3] - {a: 1, b: 2}.to_set.should == Set[[:b, 2], [:a, 1]] - end - - it "allows passing an alternate class for Set" do - sorted_set = [1, 2, 3].to_set(SortedSet) - sorted_set.should == SortedSet[1, 2, 3] - sorted_set.instance_of?(SortedSet).should == true - end - - it "passes down passed blocks" do - [1, 2, 3].to_set { |x| x * x }.should == Set[1, 4, 9] - end -end diff --git a/spec/ruby/library/set/eql_spec.rb b/spec/ruby/library/set/eql_spec.rb deleted file mode 100644 index dd8e633775..0000000000 --- a/spec/ruby/library/set/eql_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -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[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/library/set/equal_value_spec.rb b/spec/ruby/library/set/equal_value_spec.rb deleted file mode 100644 index f5b5f790c0..0000000000 --- a/spec/ruby/library/set/equal_value_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#==" do - it "returns true when the passed Object is a Set and self and the Object contain the same elements" do - Set[].should == Set[] - Set[1, 2, 3].should == Set[1, 2, 3] - Set["1", "2", "3"].should == Set["1", "2", "3"] - - Set[1, 2, 3].should_not == Set[1.0, 2, 3] - Set[1, 2, 3].should_not == [1, 2, 3] - end - - it "does not depend on the order of the elements" do - Set[1, 2, 3].should == Set[3, 2, 1] - Set[:a, "b", ?c].should == Set[?c, "b", :a] - end - - it "does not depend on the order of nested Sets" do - Set[Set[1], Set[2], Set[3]].should == Set[Set[3], Set[2], Set[1]] - - set1 = Set[Set["a", "b"], Set["c", "d"], Set["e", "f"]] - set2 = Set[Set["c", "d"], Set["a", "b"], Set["e", "f"]] - set1.should == set2 - end - - 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]) - end - end -end diff --git a/spec/ruby/library/set/exclusion_spec.rb b/spec/ruby/library/set/exclusion_spec.rb deleted file mode 100644 index c9fa0e287e..0000000000 --- a/spec/ruby/library/set/exclusion_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#^" do - before :each do - @set = Set[1, 2, 3, 4] - end - - it "returns a new Set containing elements that are not in both self and the passed Enumerable" do - (@set ^ Set[3, 4, 5]).should == Set[1, 2, 5] - (@set ^ [3, 4, 5]).should == Set[1, 2, 5] - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { @set ^ 3 }.should raise_error(ArgumentError) - lambda { @set ^ Object.new }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/filter_spec.rb b/spec/ruby/library/set/filter_spec.rb deleted file mode 100644 index a4dfe70d52..0000000000 --- a/spec/ruby/library/set/filter_spec.rb +++ /dev/null @@ -1,8 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/select' - -ruby_version_is "2.6" do - describe "Set#filter!" do - it_behaves_like :set_select_bang, :filter! - end -end diff --git a/spec/ruby/library/set/fixtures/set_like.rb b/spec/ruby/library/set/fixtures/set_like.rb deleted file mode 100644 index 46f61a451e..0000000000 --- a/spec/ruby/library/set/fixtures/set_like.rb +++ /dev/null @@ -1,31 +0,0 @@ -require 'set' - -module SetSpecs - # This class is used to test the interaction of "Set-like" objects with real Sets - # - # These "Set-like" objects reply to is_a?(Set) with true and thus real Set objects are able to transparently - # interoperate with them in a duck-typing manner. - class SetLike - include Enumerable - - def is_a?(klass) - super || klass == ::Set - end - - def initialize(entries) - @entries = entries - end - - def each(&block) - @entries.each(&block) - end - - def inspect - "#<#{self.class}: {#{map(&:inspect).join(", ")}}>" - end - - def size - @entries.size - end - end -end diff --git a/spec/ruby/library/set/flatten_merge_spec.rb b/spec/ruby/library/set/flatten_merge_spec.rb deleted file mode 100644 index b4494b13a7..0000000000 --- a/spec/ruby/library/set/flatten_merge_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#flatten_merge" do - it "is protected" do - Set.should have_protected_instance_method("flatten_merge") - end - - it "flattens the passed Set and merges it into self" do - set1 = Set[1, 2] - set2 = Set[3, 4, Set[5, 6]] - - set1.send(:flatten_merge, set2).should == Set[1, 2, 3, 4, 5, 6] - end - - it "raises an ArgumentError when trying to flatten a recursive Set" do - set1 = Set[1, 2, 3] - set2 = Set[5, 6, 7] - set2 << set2 - - lambda { set1.send(:flatten_merge, set2) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/flatten_spec.rb b/spec/ruby/library/set/flatten_spec.rb deleted file mode 100644 index be94630f48..0000000000 --- a/spec/ruby/library/set/flatten_spec.rb +++ /dev/null @@ -1,53 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#flatten" do - it "returns a copy of self with each included Set flattened" 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 == Set[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - end - - it "raises an ArgumentError when self is recursive" do - (set = Set[]) << set - lambda { set.flatten }.should raise_error(ArgumentError) - end - - 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] - end - end -end - -describe "Set#flatten!" do - it "flattens self" do - set = Set[1, 2, Set[3, 4, Set[5, 6, Set[7, 8]]], 9, 10] - set.flatten! - set.should == Set[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - end - - it "returns self when self was modified" do - set = Set[1, 2, Set[3, 4]] - 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 - end - - it "raises an ArgumentError when self is recursive" do - (set = Set[]) << set - lambda { set.flatten! }.should raise_error(ArgumentError) - end - - 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 diff --git a/spec/ruby/library/set/hash_spec.rb b/spec/ruby/library/set/hash_spec.rb deleted file mode 100644 index 47c43c05f1..0000000000 --- a/spec/ruby/library/set/hash_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#hash" do - it "is static" do - Set[].hash.should == Set[].hash - Set[1, 2, 3].hash.should == Set[1, 2, 3].hash - Set[:a, "b", ?c].hash.should == Set[?c, "b", :a].hash - - Set[].hash.should_not == Set[1, 2, 3].hash - Set[1, 2, 3].hash.should_not == Set[:a, "b", ?c].hash - end -end diff --git a/spec/ruby/library/set/include_spec.rb b/spec/ruby/library/set/include_spec.rb deleted file mode 100644 index 68532d9a04..0000000000 --- a/spec/ruby/library/set/include_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/include' -require 'set' - -describe "Set#include?" do - it_behaves_like :set_include, :include? -end diff --git a/spec/ruby/library/set/initialize_spec.rb b/spec/ruby/library/set/initialize_spec.rb deleted file mode 100644 index 887cae45fc..0000000000 --- a/spec/ruby/library/set/initialize_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#initialize" do - it "is private" do - Set.should have_private_instance_method(: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) - end - - it "should initialize with empty array and set" do - s = Set.new([]) - s.size.should eql(0) - - s = Set.new({}) - 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) - end - - it "should initialize with empty array and block" do - s = Set.new([]) { |x| x * x } - 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) - end - - it "should initialize with just block" do - s = Set.new { |x| x * x } - s.size.should eql(0) - s.should eql(Set.new) - end -end diff --git a/spec/ruby/library/set/inspect_spec.rb b/spec/ruby/library/set/inspect_spec.rb deleted file mode 100644 index 4060c63b95..0000000000 --- a/spec/ruby/library/set/inspect_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/inspect' -require 'set' - -describe "Set#inspect" do - it_behaves_like :set_inspect, :inspect -end diff --git a/spec/ruby/library/set/intersect_spec.rb b/spec/ruby/library/set/intersect_spec.rb deleted file mode 100644 index e60f06db94..0000000000 --- a/spec/ruby/library/set/intersect_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#intersect?" do - it "returns true when two Sets have at least one element in common" do - Set[1, 2].intersect?(Set[2, 3]).should == true - end - - it "returns false when two Sets have no element in common" do - Set[1, 2].intersect?(Set[3, 4]).should == false - end - - 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 - 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 - end - end -end diff --git a/spec/ruby/library/set/intersection_spec.rb b/spec/ruby/library/set/intersection_spec.rb deleted file mode 100644 index 792c2d8f07..0000000000 --- a/spec/ruby/library/set/intersection_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/intersection' -require 'set' - -describe "Set#intersection" do - it_behaves_like :set_intersection, :intersection -end - -describe "Set#&" do - it_behaves_like :set_intersection, :& -end diff --git a/spec/ruby/library/set/keep_if_spec.rb b/spec/ruby/library/set/keep_if_spec.rb deleted file mode 100644 index 7edc80769f..0000000000 --- a/spec/ruby/library/set/keep_if_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#keep_if" do - before :each do - @set = Set["one", "two", "three"] - end - - it "yields every element of self" do - ret = [] - @set.keep_if { |x| ret << x } - ret.sort.should == ["one", "two", "three"].sort - end - - 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.should_not include("one") - @set.should_not include("two") - @set.should include("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) - - enum.each { |x| x.size != 3 } - - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end -end diff --git a/spec/ruby/library/set/length_spec.rb b/spec/ruby/library/set/length_spec.rb deleted file mode 100644 index fef63d25a7..0000000000 --- a/spec/ruby/library/set/length_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/length' -require 'set' - -describe "Set#length" do - it_behaves_like :set_length, :length -end diff --git a/spec/ruby/library/set/map_spec.rb b/spec/ruby/library/set/map_spec.rb deleted file mode 100644 index e60e98b179..0000000000 --- a/spec/ruby/library/set/map_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require 'set' -require_relative 'shared/collect' - -describe "Set#map!" do - it_behaves_like :set_collect_bang, :map! -end diff --git a/spec/ruby/library/set/member_spec.rb b/spec/ruby/library/set/member_spec.rb deleted file mode 100644 index 5b56a38ab9..0000000000 --- a/spec/ruby/library/set/member_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/include' -require 'set' - -describe "Set#member?" do - it_behaves_like :set_include, :member? -end diff --git a/spec/ruby/library/set/merge_spec.rb b/spec/ruby/library/set/merge_spec.rb deleted file mode 100644 index 5c65af0a9b..0000000000 --- a/spec/ruby/library/set/merge_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#merge" do - it "adds the elements of the passed Enumerable to self" do - Set[:a, :b].merge(Set[:b, :c, :d]).should == Set[:a, :b, :c, :d] - Set[1, 2].merge([3, 4]).should == Set[1, 2, 3, 4] - end - - it "returns self" do - set = Set[1, 2] - set.merge([3, 4]).should equal(set) - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { Set[1, 2].merge(1) }.should raise_error(ArgumentError) - lambda { Set[1, 2].merge(Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/minus_spec.rb b/spec/ruby/library/set/minus_spec.rb deleted file mode 100644 index 3fe0b6a2cc..0000000000 --- a/spec/ruby/library/set/minus_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require 'set' -require_relative 'shared/difference' - -describe "Set#-" do - it_behaves_like :set_difference, :- -end diff --git a/spec/ruby/library/set/plus_spec.rb b/spec/ruby/library/set/plus_spec.rb deleted file mode 100644 index 3e70d3269d..0000000000 --- a/spec/ruby/library/set/plus_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/union' -require 'set' - -describe "Set#+" do - it_behaves_like :set_union, :+ -end diff --git a/spec/ruby/library/set/pretty_print_cycle_spec.rb b/spec/ruby/library/set/pretty_print_cycle_spec.rb deleted file mode 100644 index 4f440353e5..0000000000 --- a/spec/ruby/library/set/pretty_print_cycle_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -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: {...}>") - Set[1, 2, 3].pretty_print_cycle(pp) - end -end diff --git a/spec/ruby/library/set/pretty_print_spec.rb b/spec/ruby/library/set/pretty_print_spec.rb deleted file mode 100644 index f2392e6968..0000000000 --- a/spec/ruby/library/set/pretty_print_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#pretty_print" do - it "passes the 'pretty print' representation of self to the pretty print writer" do - pp = mock("PrettyPrint") - set = Set[1, 2, 3] - - pp.should_receive(:text).with("#<Set: {") - pp.should_receive(:text).with("}>") - - pp.should_receive(:nest).with(1).and_yield - pp.should_receive(:seplist).with(set) - - set.pretty_print(pp) - end -end diff --git a/spec/ruby/library/set/proper_subset_spec.rb b/spec/ruby/library/set/proper_subset_spec.rb deleted file mode 100644 index 20c354b655..0000000000 --- a/spec/ruby/library/set/proper_subset_spec.rb +++ /dev/null @@ -1,41 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#proper_subset?" do - before :each do - @set = Set[1, 2, 3, 4] - 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[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[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.proper_subset?(@set).should be_false - Set[].proper_subset?(Set[]).should be_false - end - - it "raises an ArgumentError when passed a non-Set" do - lambda { Set[].proper_subset?([]) }.should raise_error(ArgumentError) - lambda { Set[].proper_subset?(1) }.should raise_error(ArgumentError) - lambda { Set[].proper_subset?("test") }.should raise_error(ArgumentError) - lambda { Set[].proper_subset?(Object.new) }.should raise_error(ArgumentError) - end - - 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 diff --git a/spec/ruby/library/set/proper_superset_spec.rb b/spec/ruby/library/set/proper_superset_spec.rb deleted file mode 100644 index abc0e44f96..0000000000 --- a/spec/ruby/library/set/proper_superset_spec.rb +++ /dev/null @@ -1,41 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#proper_superset?" do - before :each do - @set = Set[1, 2, 3, 4] - 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[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[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).should be_false - Set[].proper_superset?(Set[]).should be_false - end - - it "raises an ArgumentError when passed a non-Set" do - lambda { Set[].proper_superset?([]) }.should raise_error(ArgumentError) - lambda { Set[].proper_superset?(1) }.should raise_error(ArgumentError) - lambda { Set[].proper_superset?("test") }.should raise_error(ArgumentError) - lambda { Set[].proper_superset?(Object.new) }.should raise_error(ArgumentError) - end - - 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 - end - end -end diff --git a/spec/ruby/library/set/reject_spec.rb b/spec/ruby/library/set/reject_spec.rb deleted file mode 100644 index 9131f960ad..0000000000 --- a/spec/ruby/library/set/reject_spec.rb +++ /dev/null @@ -1,42 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#reject!" do - before :each do - @set = Set["one", "two", "three"] - end - - it "yields every element of self" do - ret = [] - @set.reject! { |x| ret << x } - ret.sort.should == ["one", "two", "three"].sort - 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) - - @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) - 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) - - enum.each { |x| x.size == 3 } - - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end -end diff --git a/spec/ruby/library/set/replace_spec.rb b/spec/ruby/library/set/replace_spec.rb deleted file mode 100644 index 7511066c9c..0000000000 --- a/spec/ruby/library/set/replace_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#replace" do - before :each do - @set = Set[:a, :b, :c] - end - - it "replaces the contents with other and returns self" do - @set.replace(Set[1, 2, 3]).should == @set - @set.should == Set[1, 2, 3] - end - - it "accepts any enumerable as other" do - @set.replace([1, 2, 3]).should == Set[1, 2, 3] - end -end diff --git a/spec/ruby/library/set/select_spec.rb b/spec/ruby/library/set/select_spec.rb deleted file mode 100644 index b458ffacaa..0000000000 --- a/spec/ruby/library/set/select_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/select' - -describe "Set#select!" do - it_behaves_like :set_select_bang, :select! -end diff --git a/spec/ruby/library/set/shared/add.rb b/spec/ruby/library/set/shared/add.rb deleted file mode 100644 index 9e797f5df9..0000000000 --- a/spec/ruby/library/set/shared/add.rb +++ /dev/null @@ -1,14 +0,0 @@ -describe :set_add, shared: true do - before :each do - @set = Set.new - end - - it "adds the passed Object to self" do - @set.send(@method, "dog") - @set.should include("dog") - end - - it "returns self" do - @set.send(@method, "dog").should equal(@set) - end -end diff --git a/spec/ruby/library/set/shared/collect.rb b/spec/ruby/library/set/shared/collect.rb deleted file mode 100644 index bc58c231be..0000000000 --- a/spec/ruby/library/set/shared/collect.rb +++ /dev/null @@ -1,20 +0,0 @@ -describe :set_collect_bang, shared: true do - before :each do - @set = Set[1, 2, 3, 4, 5] - end - - it "yields each Object in self" do - res = [] - @set.send(@method) { |x| res << x } - res.sort.should == [1, 2, 3, 4, 5].sort - end - - it "returns self" do - @set.send(@method) { |x| x }.should equal(@set) - end - - it "replaces self with the return values of the block" do - @set.send(@method) { |x| x * 2 } - @set.should == Set[2, 4, 6, 8, 10] - end -end diff --git a/spec/ruby/library/set/shared/difference.rb b/spec/ruby/library/set/shared/difference.rb deleted file mode 100644 index 52807709c3..0000000000 --- a/spec/ruby/library/set/shared/difference.rb +++ /dev/null @@ -1,15 +0,0 @@ -describe :set_difference, shared: true do - before :each do - @set = Set[:a, :b, :c] - end - - it "returns a new Set containing self's elements excluding the elements in the passed Enumerable" do - @set.send(@method, Set[:a, :b]).should == Set[:c] - @set.send(@method, [:b, :c]).should == Set[:a] - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { @set.send(@method, 1) }.should raise_error(ArgumentError) - lambda { @set.send(@method, Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/shared/include.rb b/spec/ruby/library/set/shared/include.rb deleted file mode 100644 index b4d95cde24..0000000000 --- a/spec/ruby/library/set/shared/include.rb +++ /dev/null @@ -1,29 +0,0 @@ -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 - end - - describe "member equality" do - it "is checked using both #hash and #eql?" do - obj = Object.new - obj_another = Object.new - - def obj.hash; 42 end - def obj_another.hash; 42 end - def obj_another.eql?(o) hash == o.hash end - - set = Set["a", "b", "c", obj] - set.send(@method, obj_another).should == true - end - - it "is not checked using #==" do - obj = Object.new - set = Set["a", "b", "c"] - - obj.should_not_receive(:==) - set.send(@method, obj) - end - end -end diff --git a/spec/ruby/library/set/shared/inspect.rb b/spec/ruby/library/set/shared/inspect.rb deleted file mode 100644 index 69fbdd12f6..0000000000 --- a/spec/ruby/library/set/shared/inspect.rb +++ /dev/null @@ -1,15 +0,0 @@ -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) - end - - it "correctly handles self-references" do - (set = Set[]) << set - set.send(@method).should be_kind_of(String) - set.send(@method).should include("#<Set: {...}>") - end -end diff --git a/spec/ruby/library/set/shared/intersection.rb b/spec/ruby/library/set/shared/intersection.rb deleted file mode 100644 index ed0db7457d..0000000000 --- a/spec/ruby/library/set/shared/intersection.rb +++ /dev/null @@ -1,15 +0,0 @@ -describe :set_intersection, shared: true do - before :each do - @set = Set[:a, :b, :c] - end - - it "returns a new Set containing only elements shared by self and the passed Enumerable" do - @set.send(@method, Set[:b, :c, :d, :e]).should == Set[:b, :c] - @set.send(@method, [:b, :c, :d]).should == Set[:b, :c] - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { @set.send(@method, 1) }.should raise_error(ArgumentError) - lambda { @set.send(@method, Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/shared/length.rb b/spec/ruby/library/set/shared/length.rb deleted file mode 100644 index a8fcee9f39..0000000000 --- a/spec/ruby/library/set/shared/length.rb +++ /dev/null @@ -1,6 +0,0 @@ -describe :set_length, shared: true do - it "returns the number of elements in the set" do - set = Set[:a, :b, :c] - set.send(@method).should == 3 - end -end diff --git a/spec/ruby/library/set/shared/select.rb b/spec/ruby/library/set/shared/select.rb deleted file mode 100644 index 2108d398b4..0000000000 --- a/spec/ruby/library/set/shared/select.rb +++ /dev/null @@ -1,42 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe :set_select_bang, shared: true do - before :each do - @set = Set["one", "two", "three"] - end - - it "yields every element of self" do - ret = [] - @set.send(@method) { |x| ret << x } - ret.sort.should == ["one", "two", "three"].sort - end - - 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.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) - end - - it "returns nil when self was not modified" do - @set.send(@method) { true }.should be_nil - end - - it "returns an Enumerator when passed no block" do - enum = @set.send(@method) - enum.should be_an_instance_of(Enumerator) - - enum.each { |x| x.size != 3 } - - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end -end diff --git a/spec/ruby/library/set/shared/union.rb b/spec/ruby/library/set/shared/union.rb deleted file mode 100644 index 81920f5687..0000000000 --- a/spec/ruby/library/set/shared/union.rb +++ /dev/null @@ -1,15 +0,0 @@ -describe :set_union, shared: true do - before :each do - @set = Set[:a, :b, :c] - end - - it "returns a new Set containing all elements of self and the passed Enumerable" do - @set.send(@method, Set[:b, :d, :e]).should == Set[:a, :b, :c, :d, :e] - @set.send(@method, [:b, :e]).should == Set[:a, :b, :c, :e] - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { @set.send(@method, 1) }.should raise_error(ArgumentError) - lambda { @set.send(@method, Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/size_spec.rb b/spec/ruby/library/set/size_spec.rb deleted file mode 100644 index 3c8cb38517..0000000000 --- a/spec/ruby/library/set/size_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/length' -require 'set' - -describe "Set#size" do - it_behaves_like :set_length, :size -end diff --git a/spec/ruby/library/set/sortedset/add_spec.rb b/spec/ruby/library/set/sortedset/add_spec.rb deleted file mode 100644 index 721ac7fac0..0000000000 --- a/spec/ruby/library/set/sortedset/add_spec.rb +++ /dev/null @@ -1,39 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/add' - -describe "SortedSet#add" do - it_behaves_like :sorted_set_add, :add - - it "takes only values which responds <=>" do - obj = mock('no_comparison_operator') - obj.stub!(:respond_to?).with(:<=>).and_return(false) - lambda { SortedSet["hello"].add(obj) }.should raise_error(ArgumentError) - 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. - lambda { SortedSet['1', '2'].add(3).to_a }.should raise_error(ArgumentError) - end -end - -describe "SortedSet#add?" do - before :each do - @set = SortedSet.new - 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 - end -end diff --git a/spec/ruby/library/set/sortedset/append_spec.rb b/spec/ruby/library/set/sortedset/append_spec.rb deleted file mode 100644 index ebcceba962..0000000000 --- a/spec/ruby/library/set/sortedset/append_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/add' - -describe "SortedSet#<<" do - it_behaves_like :sorted_set_add, :<< -end diff --git a/spec/ruby/library/set/sortedset/case_equality_spec.rb b/spec/ruby/library/set/sortedset/case_equality_spec.rb deleted file mode 100644 index 5627917677..0000000000 --- a/spec/ruby/library/set/sortedset/case_equality_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require_relative '../../../spec_helper' -require_relative 'shared/include' -require 'set' - -ruby_version_is "2.5" do - 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 deleted file mode 100644 index 62b26d5d28..0000000000 --- a/spec/ruby/library/set/sortedset/classify_spec.rb +++ /dev/null @@ -1,27 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#classify" do - before :each do - @set = SortedSet["one", "two", "three", "four"] - end - - it "yields each Object in self in sorted order" do - res = [] - @set.classify { |x| res << x } - res.should == ["one", "two", "three", "four"].sort - 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"] } - end -end diff --git a/spec/ruby/library/set/sortedset/clear_spec.rb b/spec/ruby/library/set/sortedset/clear_spec.rb deleted file mode 100644 index 11b5db2095..0000000000 --- a/spec/ruby/library/set/sortedset/clear_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -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) - end -end diff --git a/spec/ruby/library/set/sortedset/collect_spec.rb b/spec/ruby/library/set/sortedset/collect_spec.rb deleted file mode 100644 index 21ead4fe55..0000000000 --- a/spec/ruby/library/set/sortedset/collect_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/collect' - -describe "SortedSet#collect!" do - it_behaves_like :sorted_set_collect_bang, :collect! -end diff --git a/spec/ruby/library/set/sortedset/constructor_spec.rb b/spec/ruby/library/set/sortedset/constructor_spec.rb deleted file mode 100644 index 953144dbdb..0000000000 --- a/spec/ruby/library/set/sortedset/constructor_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -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] - - 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 diff --git a/spec/ruby/library/set/sortedset/delete_if_spec.rb b/spec/ruby/library/set/sortedset/delete_if_spec.rb deleted file mode 100644 index 1ff689376a..0000000000 --- a/spec/ruby/library/set/sortedset/delete_if_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#delete_if" do - before :each do - @set = SortedSet["one", "two", "three"] - end - - it "yields each Object in self in sorted order" do - ret = [] - @set.delete_if { |x| ret << x } - ret.should == ["one", "two", "three"].sort - 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) - - @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) - - enum.each { |x| x.size == 3 } - - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end -end diff --git a/spec/ruby/library/set/sortedset/delete_spec.rb b/spec/ruby/library/set/sortedset/delete_spec.rb deleted file mode 100644 index 71583c7f13..0000000000 --- a/spec/ruby/library/set/sortedset/delete_spec.rb +++ /dev/null @@ -1,37 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#delete" do - before :each do - @set = SortedSet["a", "b", "c"] - end - - it "deletes the passed Object from self" do - @set.delete("a") - @set.should_not include("a") - end - - it "returns self" do - @set.delete("a").should equal(@set) - @set.delete("x").should equal(@set) - end -end - -describe "SortedSet#delete?" do - before :each do - @set = SortedSet["a", "b", "c"] - 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 - end -end diff --git a/spec/ruby/library/set/sortedset/difference_spec.rb b/spec/ruby/library/set/sortedset/difference_spec.rb deleted file mode 100644 index c3d679aff8..0000000000 --- a/spec/ruby/library/set/sortedset/difference_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/difference' - -describe "SortedSet#difference" do - it_behaves_like :sorted_set_difference, :difference -end diff --git a/spec/ruby/library/set/sortedset/divide_spec.rb b/spec/ruby/library/set/sortedset/divide_spec.rb deleted file mode 100644 index 4b2135a8c9..0000000000 --- a/spec/ruby/library/set/sortedset/divide_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -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 - - 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 - - # 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 - -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 diff --git a/spec/ruby/library/set/sortedset/each_spec.rb b/spec/ruby/library/set/sortedset/each_spec.rb deleted file mode 100644 index bcf0d74d1f..0000000000 --- a/spec/ruby/library/set/sortedset/each_spec.rb +++ /dev/null @@ -1,26 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#each" do - before :each do - @set = SortedSet[1, 2, 3] - 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 - - ret = [] - enum.each { |x| ret << x } - ret.sort.should == [1, 2, 3] - end -end diff --git a/spec/ruby/library/set/sortedset/empty_spec.rb b/spec/ruby/library/set/sortedset/empty_spec.rb deleted file mode 100644 index deb3b567fb..0000000000 --- a/spec/ruby/library/set/sortedset/empty_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -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 - end -end diff --git a/spec/ruby/library/set/sortedset/eql_spec.rb b/spec/ruby/library/set/sortedset/eql_spec.rb deleted file mode 100644 index b22858a362..0000000000 --- a/spec/ruby/library/set/sortedset/eql_spec.rb +++ /dev/null @@ -1,16 +0,0 @@ -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]) - -# 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 diff --git a/spec/ruby/library/set/sortedset/equal_value_spec.rb b/spec/ruby/library/set/sortedset/equal_value_spec.rb deleted file mode 100644 index cb1b7c9443..0000000000 --- a/spec/ruby/library/set/sortedset/equal_value_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -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"] - - SortedSet[1, 2, 3].should_not == SortedSet[1.0, 2, 3] - SortedSet[1, 2, 3].should_not == [1, 2, 3] - end -end diff --git a/spec/ruby/library/set/sortedset/exclusion_spec.rb b/spec/ruby/library/set/sortedset/exclusion_spec.rb deleted file mode 100644 index 59f9f1dfd8..0000000000 --- a/spec/ruby/library/set/sortedset/exclusion_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -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 - lambda { @set ^ 3 }.should raise_error(ArgumentError) - lambda { @set ^ Object.new }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/filter_spec.rb b/spec/ruby/library/set/sortedset/filter_spec.rb deleted file mode 100644 index cfaa8b2729..0000000000 --- a/spec/ruby/library/set/sortedset/filter_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -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! - end -end diff --git a/spec/ruby/library/set/sortedset/flatten_merge_spec.rb b/spec/ruby/library/set/sortedset/flatten_merge_spec.rb deleted file mode 100644 index 9a8ed13f00..0000000000 --- a/spec/ruby/library/set/sortedset/flatten_merge_spec.rb +++ /dev/null @@ -1,8 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#flatten_merge" do - it "is protected" do - SortedSet.should have_protected_instance_method("flatten_merge") - end -end diff --git a/spec/ruby/library/set/sortedset/flatten_spec.rb b/spec/ruby/library/set/sortedset/flatten_spec.rb deleted file mode 100644 index ca4e4637e6..0000000000 --- a/spec/ruby/library/set/sortedset/flatten_spec.rb +++ /dev/null @@ -1,44 +0,0 @@ -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 - 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 - - flattened_set.should_not equal(set) - flattened_set.should == klass[1, 2, 3, 4, 5, 6, 7, 8] - 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 - - 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 - end -end diff --git a/spec/ruby/library/set/sortedset/hash_spec.rb b/spec/ruby/library/set/sortedset/hash_spec.rb deleted file mode 100644 index 7833c68a10..0000000000 --- a/spec/ruby/library/set/sortedset/hash_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -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 - - SortedSet[].hash.should_not == SortedSet[1, 2, 3].hash - SortedSet[1, 2, 3].hash.should_not == SortedSet["a", "b", "c"].hash - end -end diff --git a/spec/ruby/library/set/sortedset/include_spec.rb b/spec/ruby/library/set/sortedset/include_spec.rb deleted file mode 100644 index 030a9e146a..0000000000 --- a/spec/ruby/library/set/sortedset/include_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require_relative 'shared/include' -require 'set' - -describe "SortedSet#include?" do - it_behaves_like :sorted_set_include, :include? -end diff --git a/spec/ruby/library/set/sortedset/initialize_spec.rb b/spec/ruby/library/set/sortedset/initialize_spec.rb deleted file mode 100644 index cdf756f6b8..0000000000 --- a/spec/ruby/library/set/sortedset/initialize_spec.rb +++ /dev/null @@ -1,30 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#initialize" do - it "is private" do - SortedSet.should have_private_instance_method("initialize") - 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. - lambda { SortedSet.new(['00', nil]).to_a }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/inspect_spec.rb b/spec/ruby/library/set/sortedset/inspect_spec.rb deleted file mode 100644 index 7103bee3f5..0000000000 --- a/spec/ruby/library/set/sortedset/inspect_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -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) - end -end diff --git a/spec/ruby/library/set/sortedset/intersection_spec.rb b/spec/ruby/library/set/sortedset/intersection_spec.rb deleted file mode 100644 index 6ff9c80ce1..0000000000 --- a/spec/ruby/library/set/sortedset/intersection_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require_relative '../../../spec_helper' -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, :& -end diff --git a/spec/ruby/library/set/sortedset/keep_if_spec.rb b/spec/ruby/library/set/sortedset/keep_if_spec.rb deleted file mode 100644 index 2235eb3766..0000000000 --- a/spec/ruby/library/set/sortedset/keep_if_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#keep_if" do - before :each do - @set = SortedSet["one", "two", "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 "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) - - enum.each { |x| x.size != 3 } - @set.to_a.should == ["three"] - end -end diff --git a/spec/ruby/library/set/sortedset/length_spec.rb b/spec/ruby/library/set/sortedset/length_spec.rb deleted file mode 100644 index 5f138dd6f7..0000000000 --- a/spec/ruby/library/set/sortedset/length_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require_relative 'shared/length' -require 'set' - -describe "SortedSet#length" do - it_behaves_like :sorted_set_length, :length -end diff --git a/spec/ruby/library/set/sortedset/map_spec.rb b/spec/ruby/library/set/sortedset/map_spec.rb deleted file mode 100644 index 1d7b5954e5..0000000000 --- a/spec/ruby/library/set/sortedset/map_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/collect' - -describe "SortedSet#map!" do - it_behaves_like :sorted_set_collect_bang, :map! -end diff --git a/spec/ruby/library/set/sortedset/member_spec.rb b/spec/ruby/library/set/sortedset/member_spec.rb deleted file mode 100644 index d6005557ab..0000000000 --- a/spec/ruby/library/set/sortedset/member_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require_relative 'shared/include' -require 'set' - -describe "SortedSet#member?" do - it_behaves_like :sorted_set_include, :member? -end diff --git a/spec/ruby/library/set/sortedset/merge_spec.rb b/spec/ruby/library/set/sortedset/merge_spec.rb deleted file mode 100644 index f98f2c83ce..0000000000 --- a/spec/ruby/library/set/sortedset/merge_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -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 - - 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 - lambda { SortedSet[1, 2].merge(1) }.should raise_error(ArgumentError) - lambda { SortedSet[1, 2].merge(Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/minus_spec.rb b/spec/ruby/library/set/sortedset/minus_spec.rb deleted file mode 100644 index ffb8ee85d1..0000000000 --- a/spec/ruby/library/set/sortedset/minus_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' -require_relative 'shared/difference' - -describe "SortedSet#-" do - it_behaves_like :sorted_set_difference, :- -end diff --git a/spec/ruby/library/set/sortedset/plus_spec.rb b/spec/ruby/library/set/sortedset/plus_spec.rb deleted file mode 100644 index 355c775d7e..0000000000 --- a/spec/ruby/library/set/sortedset/plus_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require_relative 'shared/union' -require 'set' - -describe "SortedSet#+" do - it_behaves_like :sorted_set_union, :+ -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 deleted file mode 100644 index fe15f1bf7d..0000000000 --- a/spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -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) - end -end diff --git a/spec/ruby/library/set/sortedset/pretty_print_spec.rb b/spec/ruby/library/set/sortedset/pretty_print_spec.rb deleted file mode 100644 index 601ff4d182..0000000000 --- a/spec/ruby/library/set/sortedset/pretty_print_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -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] - - pp.should_receive(:text).with("#<SortedSet: {") - pp.should_receive(:text).with("}>") - - pp.should_receive(:nest).with(1).and_yield - pp.should_receive(:seplist).with(set) - - set.pretty_print(pp) - end -end diff --git a/spec/ruby/library/set/sortedset/proper_subset_spec.rb b/spec/ruby/library/set/sortedset/proper_subset_spec.rb deleted file mode 100644 index 3b3c2e5c4c..0000000000 --- a/spec/ruby/library/set/sortedset/proper_subset_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#proper_subset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end - - 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[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 - - 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 - lambda { SortedSet[].proper_subset?([]) }.should raise_error(ArgumentError) - lambda { SortedSet[].proper_subset?(1) }.should raise_error(ArgumentError) - lambda { SortedSet[].proper_subset?("test") }.should raise_error(ArgumentError) - lambda { SortedSet[].proper_subset?(Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/proper_superset_spec.rb b/spec/ruby/library/set/sortedset/proper_superset_spec.rb deleted file mode 100644 index 72ae71e2f1..0000000000 --- a/spec/ruby/library/set/sortedset/proper_superset_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#proper_superset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end - - 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[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?(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 - lambda { SortedSet[].proper_superset?([]) }.should raise_error(ArgumentError) - lambda { SortedSet[].proper_superset?(1) }.should raise_error(ArgumentError) - lambda { SortedSet[].proper_superset?("test") }.should raise_error(ArgumentError) - lambda { SortedSet[].proper_superset?(Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/reject_spec.rb b/spec/ruby/library/set/sortedset/reject_spec.rb deleted file mode 100644 index da2a76e7a7..0000000000 --- a/spec/ruby/library/set/sortedset/reject_spec.rb +++ /dev/null @@ -1,42 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#reject!" do - before :each do - @set = SortedSet["one", "two", "three"] - end - - it "yields each Object in self in sorted order" do - res = [] - @set.reject! { |x| res << x } - res.should == ["one", "two", "three"].sort - 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) - - @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) - 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) - - enum.each { |x| x.size == 3 } - - @set.should_not include("one") - @set.should_not include("two") - @set.should include("three") - end -end diff --git a/spec/ruby/library/set/sortedset/replace_spec.rb b/spec/ruby/library/set/sortedset/replace_spec.rb deleted file mode 100644 index 2a7fa73efb..0000000000 --- a/spec/ruby/library/set/sortedset/replace_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -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] - end -end diff --git a/spec/ruby/library/set/sortedset/select_spec.rb b/spec/ruby/library/set/sortedset/select_spec.rb deleted file mode 100644 index 68326cd02c..0000000000 --- a/spec/ruby/library/set/sortedset/select_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require_relative 'shared/select' -require 'set' - -describe "SortedSet#select!" do - it_behaves_like :sorted_set_select_bang, :select! -end diff --git a/spec/ruby/library/set/sortedset/shared/add.rb b/spec/ruby/library/set/sortedset/shared/add.rb deleted file mode 100644 index 95ef1b090e..0000000000 --- a/spec/ruby/library/set/sortedset/shared/add.rb +++ /dev/null @@ -1,14 +0,0 @@ -describe :sorted_set_add, shared: true do - before :each do - @set = SortedSet.new - end - - it "adds the passed Object to self" do - @set.send(@method, "dog") - @set.should include("dog") - end - - it "returns self" do - @set.send(@method, "dog").should equal(@set) - end -end diff --git a/spec/ruby/library/set/sortedset/shared/collect.rb b/spec/ruby/library/set/sortedset/shared/collect.rb deleted file mode 100644 index e53304d427..0000000000 --- a/spec/ruby/library/set/sortedset/shared/collect.rb +++ /dev/null @@ -1,20 +0,0 @@ -describe :sorted_set_collect_bang, shared: true do - before :each do - @set = SortedSet[1, 2, 3, 4, 5] - end - - it "yields each Object in self in sorted order" do - res = [] - SortedSet["one", "two", "three"].send(@method) { |x| res << x; x } - res.should == ["one", "two", "three"].sort - end - - it "returns self" do - @set.send(@method) { |x| x }.should equal(@set) - end - - it "replaces self with the return values of the block" do - @set.send(@method) { |x| x * 2 } - @set.should == SortedSet[2, 4, 6, 8, 10] - end -end diff --git a/spec/ruby/library/set/sortedset/shared/difference.rb b/spec/ruby/library/set/sortedset/shared/difference.rb deleted file mode 100644 index cf50ff0eb2..0000000000 --- a/spec/ruby/library/set/sortedset/shared/difference.rb +++ /dev/null @@ -1,15 +0,0 @@ -describe :sorted_set_difference, shared: true do - before :each do - @set = SortedSet["a", "b", "c"] - end - - it "returns a new SortedSet containing self's elements excluding the elements in the passed Enumerable" do - @set.send(@method, SortedSet["a", "b"]).should == SortedSet["c"] - @set.send(@method, ["b", "c"]).should == SortedSet["a"] - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { @set.send(@method, 1) }.should raise_error(ArgumentError) - lambda { @set.send(@method, Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/shared/include.rb b/spec/ruby/library/set/sortedset/shared/include.rb deleted file mode 100644 index cd1758819d..0000000000 --- a/spec/ruby/library/set/sortedset/shared/include.rb +++ /dev/null @@ -1,7 +0,0 @@ -describe :sorted_set_include, shared: true do - it "returns true when self contains the passed Object" do - set = SortedSet["a", "b", "c"] - set.send(@method, "a").should be_true - set.send(@method, "e").should be_false - end -end diff --git a/spec/ruby/library/set/sortedset/shared/intersection.rb b/spec/ruby/library/set/sortedset/shared/intersection.rb deleted file mode 100644 index d3cfa96656..0000000000 --- a/spec/ruby/library/set/sortedset/shared/intersection.rb +++ /dev/null @@ -1,15 +0,0 @@ -describe :sorted_set_intersection, shared: true do - before :each do - @set = SortedSet["a", "b", "c"] - end - - it "returns a new SortedSet containing only elements shared by self and the passed Enumerable" do - @set.send(@method, SortedSet["b", "c", "d", "e"]).should == SortedSet["b", "c"] - @set.send(@method, ["b", "c", "d"]).should == SortedSet["b", "c"] - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { @set.send(@method, 1) }.should raise_error(ArgumentError) - lambda { @set.send(@method, Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/shared/length.rb b/spec/ruby/library/set/sortedset/shared/length.rb deleted file mode 100644 index d1dfee1cff..0000000000 --- a/spec/ruby/library/set/sortedset/shared/length.rb +++ /dev/null @@ -1,6 +0,0 @@ -describe :sorted_set_length, shared: true do - it "returns the number of elements in the set" do - set = SortedSet["a", "b", "c"] - set.send(@method).should == 3 - end -end diff --git a/spec/ruby/library/set/sortedset/shared/select.rb b/spec/ruby/library/set/sortedset/shared/select.rb deleted file mode 100644 index e13311eda5..0000000000 --- a/spec/ruby/library/set/sortedset/shared/select.rb +++ /dev/null @@ -1,35 +0,0 @@ -require_relative '../../../../spec_helper' -require 'set' - -describe :sorted_set_select_bang, shared: true do - before :each do - @set = SortedSet["one", "two", "three"] - end - - it "yields each Object in self in sorted order" do - res = [] - @set.send(@method) { |x| res << x } - res.should == ["one", "two", "three"].sort - end - - it "keeps every element from self for which the passed block returns true" do - @set.send(@method) { |x| x.size != 3 } - @set.to_a.should == ["three"] - end - - it "returns self when self was modified" do - @set.send(@method) { false }.should equal(@set) - end - - it "returns nil when self was not modified" do - @set.send(@method) { true }.should be_nil - end - - it "returns an Enumerator when passed no block" do - enum = @set.send(@method) - enum.should be_an_instance_of(Enumerator) - - enum.each { |x| x.size != 3 } - @set.to_a.should == ["three"] - end -end diff --git a/spec/ruby/library/set/sortedset/shared/union.rb b/spec/ruby/library/set/sortedset/shared/union.rb deleted file mode 100644 index 4ff07ef5cc..0000000000 --- a/spec/ruby/library/set/sortedset/shared/union.rb +++ /dev/null @@ -1,15 +0,0 @@ -describe :sorted_set_union, shared: true do - before :each do - @set = SortedSet["a", "b", "c"] - end - - it "returns a new SortedSet containing all elements of self and the passed Enumerable" do - @set.send(@method, SortedSet["b", "d", "e"]).should == SortedSet["a", "b", "c", "d", "e"] - @set.send(@method, ["b", "e"]).should == SortedSet["a", "b", "c", "e"] - end - - it "raises an ArgumentError when passed a non-Enumerable" do - lambda { @set.send(@method, 1) }.should raise_error(ArgumentError) - lambda { @set.send(@method, Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/size_spec.rb b/spec/ruby/library/set/sortedset/size_spec.rb deleted file mode 100644 index 13e5085b0c..0000000000 --- a/spec/ruby/library/set/sortedset/size_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative '../../../spec_helper' -require_relative 'shared/length' -require 'set' - -describe "SortedSet#size" do - it_behaves_like :sorted_set_length, :size -end diff --git a/spec/ruby/library/set/sortedset/subset_spec.rb b/spec/ruby/library/set/sortedset/subset_spec.rb deleted file mode 100644 index cdada2cdfb..0000000000 --- a/spec/ruby/library/set/sortedset/subset_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#subset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end - - 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[].subset?(@set).should be_true - SortedSet[].subset?(SortedSet[1, 2, 3]).should be_true - SortedSet[].subset?(SortedSet["a", "b", "c"]).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[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 - lambda { SortedSet[].subset?([]) }.should raise_error(ArgumentError) - lambda { SortedSet[].subset?(1) }.should raise_error(ArgumentError) - lambda { SortedSet[].subset?("test") }.should raise_error(ArgumentError) - lambda { SortedSet[].subset?(Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/subtract_spec.rb b/spec/ruby/library/set/sortedset/subtract_spec.rb deleted file mode 100644 index 64d66c3688..0000000000 --- a/spec/ruby/library/set/sortedset/subtract_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -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"] - end -end diff --git a/spec/ruby/library/set/sortedset/superset_spec.rb b/spec/ruby/library/set/sortedset/superset_spec.rb deleted file mode 100644 index 663b179a0c..0000000000 --- a/spec/ruby/library/set/sortedset/superset_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative '../../../spec_helper' -require 'set' - -describe "SortedSet#superset?" do - before :each do - @set = SortedSet[1, 2, 3, 4] - end - - 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[]).should be_true - SortedSet[1, 2, 3].superset?(SortedSet[]).should be_true - SortedSet["a", "b", "c"].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[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 - lambda { SortedSet[].superset?([]) }.should raise_error(ArgumentError) - lambda { SortedSet[].superset?(1) }.should raise_error(ArgumentError) - lambda { SortedSet[].superset?("test") }.should raise_error(ArgumentError) - lambda { SortedSet[].superset?(Object.new) }.should raise_error(ArgumentError) - end -end diff --git a/spec/ruby/library/set/sortedset/to_a_spec.rb b/spec/ruby/library/set/sortedset/to_a_spec.rb deleted file mode 100644 index ba37d18cdb..0000000000 --- a/spec/ruby/library/set/sortedset/to_a_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -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 - - 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] - end -end diff --git a/spec/ruby/library/set/sortedset/union_spec.rb b/spec/ruby/library/set/sortedset/union_spec.rb deleted file mode 100644 index eb77600fee..0000000000 --- a/spec/ruby/library/set/sortedset/union_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require_relative '../../../spec_helper' -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, :| -end diff --git a/spec/ruby/library/set/subset_spec.rb b/spec/ruby/library/set/subset_spec.rb deleted file mode 100644 index a1aed45ad0..0000000000 --- a/spec/ruby/library/set/subset_spec.rb +++ /dev/null @@ -1,41 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#subset?" do - before :each do - @set = Set[1, 2, 3, 4] - 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 be_true - Set[].subset?(Set[1, 2, 3]).should be_true - Set[].subset?(Set["a", :b, ?c]).should be_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[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 - end - - it "raises an ArgumentError when passed a non-Set" do - lambda { Set[].subset?([]) }.should raise_error(ArgumentError) - lambda { Set[].subset?(1) }.should raise_error(ArgumentError) - lambda { Set[].subset?("test") }.should raise_error(ArgumentError) - lambda { Set[].subset?(Object.new) }.should raise_error(ArgumentError) - end - - 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 diff --git a/spec/ruby/library/set/subtract_spec.rb b/spec/ruby/library/set/subtract_spec.rb deleted file mode 100644 index 56713de8b3..0000000000 --- a/spec/ruby/library/set/subtract_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#subtract" do - before :each do - @set = Set[:a, :b, :c] - end - - it "deletes any elements contained in other and returns self" do - @set.subtract(Set[:b, :c]).should == @set - @set.should == Set[:a] - end - - it "accepts any enumerable as other" do - @set.subtract([:c]).should == Set[:a, :b] - end -end diff --git a/spec/ruby/library/set/superset_spec.rb b/spec/ruby/library/set/superset_spec.rb deleted file mode 100644 index 1336975a9b..0000000000 --- a/spec/ruby/library/set/superset_spec.rb +++ /dev/null @@ -1,41 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'fixtures/set_like' -require 'set' - -describe "Set#superset?" do - before :each do - @set = Set[1, 2, 3, 4] - 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 be_true - Set[1, 2, 3].superset?(Set[]).should be_true - Set["a", :b, ?c].superset?(Set[]).should be_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[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 - end - - it "raises an ArgumentError when passed a non-Set" do - lambda { Set[].superset?([]) }.should raise_error(ArgumentError) - lambda { Set[].superset?(1) }.should raise_error(ArgumentError) - lambda { Set[].superset?("test") }.should raise_error(ArgumentError) - lambda { Set[].superset?(Object.new) }.should raise_error(ArgumentError) - end - - 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 - end - end -end diff --git a/spec/ruby/library/set/to_a_spec.rb b/spec/ruby/library/set/to_a_spec.rb deleted file mode 100644 index 689e44f38a..0000000000 --- a/spec/ruby/library/set/to_a_spec.rb +++ /dev/null @@ -1,8 +0,0 @@ -require_relative '../../spec_helper' -require 'set' - -describe "Set#to_a" do - it "returns an array containing elements of self" do - Set[1, 2, 3].to_a.sort.should == [1, 2, 3] - end -end diff --git a/spec/ruby/library/set/to_s_spec.rb b/spec/ruby/library/set/to_s_spec.rb deleted file mode 100644 index ca2806d669..0000000000 --- a/spec/ruby/library/set/to_s_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require_relative 'shared/inspect' -require 'set' - -ruby_version_is "2.5" do - describe "Set#to_s" do - it_behaves_like :set_inspect, :to_s - - it "is an alias of inspect" do - set = Set.new - set.method(:to_s).should == set.method(:inspect) - end - end -end diff --git a/spec/ruby/library/set/union_spec.rb b/spec/ruby/library/set/union_spec.rb deleted file mode 100644 index 20fe0ddca3..0000000000 --- a/spec/ruby/library/set/union_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require_relative '../../spec_helper' -require_relative 'shared/union' -require 'set' - -describe "Set#union" do - it_behaves_like :set_union, :union -end - -describe "Set#|" do - it_behaves_like :set_union, :| -end |
