Skip to content

Commit 17e50b7

Browse files
committed
✅ Add tests for SequenceSet#xor
I'm not sure how this escaped testing before, but yikes!
1 parent e1e0ecb commit 17e50b7

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

test/net/imap/test_sequence_set.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,16 @@ def obj.to_sequence_set; 192_168.001_255 end
612612
assert_equal seqset["1,5,11:99"], seqset["1,5:6,8:9,11:99"].subtract("6:9")
613613
end
614614

615+
test "#xor" do
616+
seqset = -> { SequenceSet.new(_1) }
617+
assert_equal seqset["1:5,11:15"], seqset["1:10"] ^ seqset["6:15"]
618+
assert_equal seqset["1,3,5:6"], seqset[1..5] ^ [2, 4, 6]
619+
assert_equal SequenceSet.empty, seqset[1..5] ^ seqset[1..5]
620+
assert_equal seqset["1:100"], seqset["1:50"] ^ seqset["51:100"]
621+
assert_equal seqset["1:50"], seqset["1:50"] ^ SequenceSet.empty
622+
assert_equal seqset["1:50"], SequenceSet.empty ^ seqset["1:50"]
623+
end
624+
615625
test "#min" do
616626
assert_equal 3, SequenceSet.new("34:3").min
617627
assert_equal 345, SequenceSet.new("345,678").min

0 commit comments

Comments
 (0)