def test_get_delim(self): buffer = DataBuffer() self.assertEqual(b'', buffer.get_until_delim(b'2')) buffer.put(b'12345') buffer.put(b'678') self.assertEqual(b'12345', buffer.get_until_delim(b'5')) self.assertEqual(b'678', buffer.get_bytes(5)) self.assertEqual(b'', buffer.get_bytes(5)) self.assertEqual(b'', buffer.get_until_delim(b'2')) buffer.put(b'12345') buffer.put(b'678') self.assertEqual(b'123456', buffer.get_until_delim(b'56')) self.assertEqual(b'78', buffer.get_bytes(5))
def test_get_regex(self): buffer = DataBuffer() self.assertEqual(b'', buffer.get_until_regex(br'[23]')) buffer.put(b'12345') buffer.put(b'678') self.assertEqual(b'12345', buffer.get_until_regex(br'[1-4]+5')) self.assertEqual(b'678', buffer.get_bytes(5)) self.assertEqual(b'', buffer.get_bytes(5)) self.assertEqual(b'', buffer.get_until_regex(b'2')) buffer.put(b'12345') buffer.put(b'678') self.assertEqual(b'123456', buffer.get_until_regex(br'3?56')) self.assertEqual(b'78', buffer.get_bytes(5))
def test_get_bytes(self): buffer = DataBuffer() self.assertEqual(b'', buffer.get_bytes(6)) buffer.put(b'12345') buffer.put(b'678') self.assertEqual(b'12345', buffer.get_bytes(6)) self.assertEqual(b'678', buffer.get_bytes(6)) self.assertEqual(b'', buffer.get_bytes(6)) buffer.put(b'12345') buffer.put(b'678') self.assertEqual(b'1234', buffer.get_bytes(4)) self.assertEqual(b'5', buffer.get_bytes(4)) self.assertEqual(b'678', buffer.get_bytes(4)) self.assertEqual(b'', buffer.get_bytes(4))
def test_buffer_full(self): buffer = DataBuffer(max_size=100) buffer.put(b'0' * 100) self.assertRaises(BufferFullError, buffer.put, b'1')