blob: 25918d26f5071f5e7905b148d3cafc765d0285a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# Tests pour valider les tampons de données
from chrysacase import ChrysalideTestCase
from pychrysalide.common import PackedBuffer
class TestPackedBuffers(ChrysalideTestCase):
"""TestCase for common.PackedBuffer*"""
def testPackedBufferConstructor(self):
"""Validate new packed buffers."""
pbuf = PackedBuffer()
self.assertIsNotNone(pbuf)
def testPackedBufferData(self):
"""Play with packed buffer data."""
pbuf = PackedBuffer()
data = b'0123456789'
pbuf.extend(data, False)
pbuf.extend(data)
self.assertEqual(pbuf.payload_length, 2 * len(data))
self.assertFalse(pbuf.more_data)
pbuf.rewind()
self.assertTrue(pbuf.more_data)
got = pbuf.peek(1)
self.assertEqual(got, b'0')
got = pbuf.peek(2)
self.assertEqual(got, b'01')
pbuf.advance(3)
got = pbuf.peek(2)
self.assertEqual(got, b'34')
pbuf.advance(8)
got = pbuf.peek(2)
self.assertEqual(got, b'12')
pbuf.rewind()
got = pbuf.extract(4)
self.assertEqual(got, b'0123')
got = pbuf.extract(8, True)
self.assertEqual(got, b'10987654')
|