示例#1
0
 def test_size(self, mock_stdout, mock_stderr):
     q = ringbuffer(10)
     for v in range(1, 6):
         rb_append(q, v)
     self.assertEqual(5, rb_size(q))
     rb_pop(q)
     rb_popleft(q)
     self.assertEqual(3, rb_size(q))
     self.assertEqual(0, len(mock_stdout.getvalue()))
     self.assertEqual(0, len(mock_stderr.getvalue()))
示例#2
0
 def test_peek(self, mock_stdout, mock_stderr):
     q = ringbuffer(5)
     for v in range(1, 6):
         rb_append(q, v)
     rb_pop(q)
     rb_popleft(q)
     self.assertEqual(4, rb_peek(q))
     self.assertEqual(2, rb_peekleft(q))
     self.assertEqual(0, len(mock_stdout.getvalue()))
     self.assertEqual(0, len(mock_stderr.getvalue()))
示例#3
0
 def test_right_fifo(self, mock_stdout, mock_stderr):
     q = ringbuffer(5)
     for v in range(1, 6):
         rb_appendleft(q, v)
     for v in range(1, 4):
         self.assertEqual(rb_pop(q), v)
     for v in range(101, 103):
         rb_appendleft(q, v)
     for v in range(4, 6):
         self.assertEqual(rb_pop(q), v)
     for v in range(101, 103):
         self.assertEqual(rb_pop(q), v)
     self.assertEqual(0, len(mock_stdout.getvalue()))
     self.assertEqual(0, len(mock_stderr.getvalue()))
示例#4
0
 def test_lifo(self, mock_stdout, mock_stderr):
     q = ringbuffer(5)
     for v in range(1, 6):
         rb_append(q, v)
     for v in range(5, 2, -1):
         self.assertEqual(rb_pop(q), v)
     for v in range(101, 103):
         rb_append(q, v)
     for v in range(102, 100, -1):
         self.assertEqual(rb_pop(q), v)
     for v in range(2, 0, -1):
         self.assertEqual(rb_pop(q), v)
     self.assertEqual(0, len(mock_stdout.getvalue()))
     self.assertEqual(0, len(mock_stderr.getvalue()))
示例#5
0
 def test_ringbuffer(self, mock_stdout, mock_stderr):
     q = ringbuffer(10)
     self.assertGreaterEqual(q.size, 10)
     self.assertEqual(0, len(mock_stdout.getvalue()))
     self.assertEqual(0, len(mock_stderr.getvalue()))