Skip to content

Commit 4b3270c

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

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
@@ -573,6 +573,16 @@ def obj.to_sequence_set; 192_168.001_255 end
573573
assert_equal seqset["1,5,11:99"], seqset["1,5:6,8:9,11:99"].subtract("6:9")
574574
end
575575

576+
test "#xor" do
577+
seqset = -> { SequenceSet.new(_1) }
578+
assert_equal seqset["1:5,11:15"], seqset["1:10"] ^ seqset["6:15"]
579+
assert_equal seqset["1,3,5:6"], seqset[1..5] ^ [2, 4, 6]
580+
assert_equal SequenceSet.empty, seqset[1..5] ^ seqset[1..5]
581+
assert_equal seqset["1:100"], seqset["1:50"] ^ seqset["51:100"]
582+
assert_equal seqset["1:50"], seqset["1:50"] ^ SequenceSet.empty
583+
assert_equal seqset["1:50"], SequenceSet.empty ^ seqset["1:50"]
584+
end
585+
576586
test "#min" do
577587
assert_equal 3, SequenceSet.new("34:3").min
578588
assert_equal 345, SequenceSet.new("345,678").min

0 commit comments

Comments
 (0)