aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_set.rb
diff options
context:
space:
mode:
authorMarc-Andre Lafortune <github@marc-andre.ca>2020-10-01 23:55:46 -0400
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2020-12-04 19:24:22 +0900
commit1804c3368cf4a94791fafa9701f79a2e6f76d5d8 (patch)
tree7d7020e913522676cb1070f242e6e50210395f22 /test/test_set.rb
parenta3db08d7b6ff119223f77e3df00b4f6deac971e2 (diff)
downloadruby-1804c3368cf4a94791fafa9701f79a2e6f76d5d8.tar.gz
[ruby/set] Add `Set#<=>`
https://github.com/ruby/set/commit/447974a374
Diffstat (limited to 'test/test_set.rb')
-rw-r--r--test/test_set.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/test_set.rb b/test/test_set.rb
index 54ef80b067..05431e4c63 100644
--- a/test/test_set.rb
+++ b/test/test_set.rb
@@ -332,6 +332,24 @@ class TC_Set < Test::Unit::TestCase
}
end
+ def test_spacecraft_operator
+ set = Set[1,2,3]
+
+ assert_nil(set <=> 2)
+
+ assert_nil(set <=> set.to_a)
+
+ [Set, Set2].each { |klass|
+ assert_equal(-1, set <=> klass[1,2,3,4], klass.name)
+ assert_equal( 0, set <=> klass[3,2,1] , klass.name)
+ assert_equal(nil, set <=> klass[1,2,4] , klass.name)
+ assert_equal(+1, set <=> klass[2,3] , klass.name)
+ assert_equal(+1, set <=> klass[] , klass.name)
+
+ assert_equal(0, Set[] <=> klass[], klass.name)
+ }
+ end
+
def assert_intersect(expected, set, other)
case expected
when true