From 0655ac1535f280643a1ea414e67799e244920e18 Mon Sep 17 00:00:00 2001 From: Syed Aslam Date: Fri, 8 Oct 2021 21:20:36 +0200 Subject: [PATCH 1/2] add specs for Set#<=> method --- library/set/comparison_spec.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 library/set/comparison_spec.rb diff --git a/library/set/comparison_spec.rb b/library/set/comparison_spec.rb new file mode 100644 index 0000000000..57ce8fe924 --- /dev/null +++ b/library/set/comparison_spec.rb @@ -0,0 +1,29 @@ +require_relative '../../spec_helper' +require 'set' + +ruby_version_is "3.0" do + describe "Set#<=>" do + it "returns 0 if the sets are equal" do + (Set[] <=> Set[]).should == 0 + (Set[:a, :b, :c] <=> Set[:a, :b, :c]).should == 0 + end + + it "returns -1 if the set is a proper subset of the other set" do + (Set[] <=> Set[1]).should == -1 + (Set[1, 2] <=> Set[1, 2, 3]).should == -1 + end + + it "returns +1 if the set is a proper superset of other set" do + (Set[1] <=> Set[]).should == +1 + (Set[1, 2, 3] <=> Set[1, 2]).should == +1 + end + + it "returns nil if set has unique elements" do + (Set[1, 2, 3] <=> Set[:a, :b, :c]).should be_nil + end + + it "returns nil when the argument is not set-like" do + (Set[1, 2, 3] <=> false).should be_nil + end + end +end From fa433976f2ab4601c59d70a5d19fceea3e0278b2 Mon Sep 17 00:00:00 2001 From: Syed Aslam Date: Fri, 8 Oct 2021 21:24:15 +0200 Subject: [PATCH 2/2] cleanup --- library/set/comparison_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/set/comparison_spec.rb b/library/set/comparison_spec.rb index 57ce8fe924..b851ea3d57 100644 --- a/library/set/comparison_spec.rb +++ b/library/set/comparison_spec.rb @@ -18,12 +18,12 @@ (Set[1, 2, 3] <=> Set[1, 2]).should == +1 end - it "returns nil if set has unique elements" do + it "returns nil if the set has unique elements" do (Set[1, 2, 3] <=> Set[:a, :b, :c]).should be_nil end it "returns nil when the argument is not set-like" do - (Set[1, 2, 3] <=> false).should be_nil + (Set[] <=> false).should be_nil end end end