Skip to content

Commit 6978607

Browse files
authored
TestFile: test_circular_buffer.py
1 parent 5d9c427 commit 6978607

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import unittest
2+
from pydatastructs.linear_data_structures.circular_buffer import CircularBuffer
3+
4+
class TestCircularBuffer(unittest.TestCase):
5+
6+
def setUp(self):
7+
self.buffer = CircularBuffer(3, dtype=int) # Added dtype argument
8+
9+
def test_enqueue_dequeue(self):
10+
self.buffer.enqueue(1)
11+
self.buffer.enqueue(2)
12+
self.assertEqual(self.buffer.dequeue(), 1)
13+
self.assertEqual(self.buffer.dequeue(), 2)
14+
15+
def test_is_empty(self):
16+
self.assertTrue(self.buffer.is_empty())
17+
self.buffer.enqueue(1)
18+
self.assertFalse(self.buffer.is_empty())
19+
20+
def test_is_full(self):
21+
self.buffer.enqueue(1)
22+
self.buffer.enqueue(2)
23+
self.buffer.enqueue(3)
24+
self.assertTrue(self.buffer.is_full())
25+
26+
def test_peek(self):
27+
self.buffer.enqueue(1)
28+
self.buffer.enqueue(2)
29+
self.assertEqual(self.buffer.peek(), 1)
30+
31+
def test_enqueue_overflow(self):
32+
self.buffer.enqueue(1)
33+
self.buffer.enqueue(2)
34+
self.buffer.enqueue(3)
35+
with self.assertRaises(OverflowError):
36+
self.buffer.enqueue(4)
37+
38+
def test_dequeue_underflow(self):
39+
with self.assertRaises(ValueError):
40+
self.buffer.dequeue()
41+
42+
if __name__ == '__main__':
43+
unittest.main()

0 commit comments

Comments
 (0)