Skip to content

Commit 5560b7a

Browse files
committed
Add tests for write! edge cases in Circular Buffer
Tests for "CircularBuffer.write!" with "nil" argument and on non-full buffers. Fixes #123.
1 parent 62775ab commit 5560b7a

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

circular-buffer/circular_buffer_test.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,26 @@ def test_overwriting_oldest_item_in_a_full_buffer
8686
assert_raises(CircularBuffer::BufferEmptyException) { buffer.read }
8787
end
8888

89+
def test_forced_writes_of_nil_should_not_occupy_buffer
90+
skip
91+
buffer = CircularBuffer.new(2)
92+
(1..2).each { |i| buffer.write String(i) }
93+
buffer.write! nil
94+
assert_equal '1', buffer.read
95+
assert_equal '2', buffer.read
96+
assert_raises(CircularBuffer::BufferEmptyException) { buffer.read }
97+
end
98+
99+
def test_forced_writes_to_non_full_buffer_should_behave_like_writes
100+
skip
101+
buffer = CircularBuffer.new(2)
102+
buffer.write '1'
103+
buffer.write! '2'
104+
assert_equal '1', buffer.read
105+
assert_equal '2', buffer.read
106+
assert_raises(CircularBuffer::BufferEmptyException) { buffer.read }
107+
end
108+
89109
# rubocop:disable Metrics/MethodLength
90110
def test_alternate_read_and_write_into_buffer_overflow
91111
skip

0 commit comments

Comments
 (0)