-
Notifications
You must be signed in to change notification settings - Fork 50
/
Copy path__init__.py
35 lines (26 loc) · 980 Bytes
/
__init__.py
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
import os
import random
from unittest import TestCase
class EncoderDecoderTestCase(TestCase):
def test_encoder(self):
from raptorq import Encoder
data = os.urandom(1024)
encoder = Encoder.with_defaults(data, 512)
packets = encoder.get_encoded_packets(42)
self.assertIsInstance(packets, list)
self.assertGreater(len(packets), 0)
for packet in packets:
self.assertIsInstance(packet, bytes)
def test_decoder(self):
from raptorq import Encoder, Decoder
data = os.urandom(1024)
encoder = Encoder.with_defaults(data, 512)
packets = encoder.get_encoded_packets(42)
random.shuffle(packets)
decoded_data = None
decoder = Decoder.with_defaults(len(data), 512)
for packet in packets:
decoded_data = decoder.decode(packet)
if decoded_data is not None:
break
self.assertEqual(decoded_data, data)