summaryrefslogtreecommitdiff
path: root/spec/ruby/library/set/sortedset/proper_superset_spec.rb
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2020-12-05 11:16:32 +0100
committerBenoit Daloze <eregontp@gmail.com>2020-12-05 11:17:22 +0100
commitd0bd43c332f95e5f227ffcd4eb0e6f7bfa942b2a (patch)
tree83c4b86f50a222340b41e1c55e15deabbed71c75 /spec/ruby/library/set/sortedset/proper_superset_spec.rb
parent5e58a9033fa795b73c76a5bb6a2fb7782335acbd (diff)
Revert "SortedSet was removed at a3db08d7b6ff119223f77e3df00b4f6deac971e2"
* This reverts commit b06ffce4aef002dc47c3c5968181230e7ab8d7cc. * Do not revert specs, wrap them with `ruby_version_is` (tool for that in next commit).
Diffstat (limited to 'spec/ruby/library/set/sortedset/proper_superset_spec.rb')
-rw-r--r--spec/ruby/library/set/sortedset/proper_superset_spec.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/ruby/library/set/sortedset/proper_superset_spec.rb b/spec/ruby/library/set/sortedset/proper_superset_spec.rb
new file mode 100644
index 0000000000..2699290f0e
--- /dev/null
+++ b/spec/ruby/library/set/sortedset/proper_superset_spec.rb
@@ -0,0 +1,33 @@
+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
+ -> { SortedSet[].proper_superset?([]) }.should raise_error(ArgumentError)
+ -> { SortedSet[].proper_superset?(1) }.should raise_error(ArgumentError)
+ -> { SortedSet[].proper_superset?("test") }.should raise_error(ArgumentError)
+ -> { SortedSet[].proper_superset?(Object.new) }.should raise_error(ArgumentError)
+ end
+end