From 7a65a9fbe0cefdf504e7d735003065d8bb874f1e Mon Sep 17 00:00:00 2001 From: Alban Peignier Date: Wed, 27 Dec 2017 21:23:07 +0100 Subject: Add Range#intersect?. Refs #5299 --- spec/lib/range_ext_spec.rb | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'spec/lib') diff --git a/spec/lib/range_ext_spec.rb b/spec/lib/range_ext_spec.rb index cae637e47..eee488c91 100644 --- a/spec/lib/range_ext_spec.rb +++ b/spec/lib/range_ext_spec.rb @@ -1,6 +1,6 @@ require 'range_ext' RSpec.describe Range do - context "intersection" do + describe "#intersection" do it "is nil (sic) for two distinct ranges" do expect( (1..2).intersection(3..4) ).to be_nil end @@ -16,6 +16,32 @@ RSpec.describe Range do end end + describe "intersect?" do + it 'is true when the given range includes begin' do + expect( (2..4).intersect? (1..3) ).to be_truthy + end + + it 'is true when the given range includes end' do + expect( (2..4).intersect? (3..5) ).to be_truthy + end + + it 'is true when the given range includes both begin and end' do + expect( (2..4).intersect? (1..5) ).to be_truthy + end + + it 'is true when the given range is the same' do + expect( (2..4).intersect? (2..4) ).to be_truthy + end + + it 'is false when the given range is after' do + expect( (2..4).intersect? (5..7) ).to be_falsey + end + + it 'is false when the given range is before' do + expect( (2..4).intersect? (0..2) ).to be_falsey + end + end + context "remove" do it "is unchanged when the given range has no intersection" do expect( (1..2).remove(3..4) ).to eq 1..2 -- cgit v1.2.3