Skip to content

Commit 95e4b45

Browse files
committed
Updated tests.
1 parent b2c2766 commit 95e4b45

File tree

1 file changed

+30
-39
lines changed

1 file changed

+30
-39
lines changed

tests/test_tinylink.py

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,33 @@
1-
import unittest
1+
from six.moves import xrange
22

3+
import unittest
34
import tinylink
45

6+
57
class DummyHandle(object):
68
"""
79
Dummy handler, so the TinyLink class can exchange data with itself.
810
"""
911

1012
def __init__(self):
11-
self.buffer = bytearray()
13+
self.stream = bytearray()
1214
self.index = 0
1315
self.length = 0
1416

1517
def write(self, data):
16-
self.buffer.extend(data)
18+
self.stream.extend(data)
1719
self.length += len(data)
1820

1921
# Return number of bytes written
2022
return len(data)
2123

2224
def read(self, count):
23-
data = str(self.buffer[self.index:min(self.length, self.index+count)])
25+
data = self.stream[self.index:min(self.length, self.index + count)]
2426
self.index += len(data)
2527

2628
# Return data
27-
return data
29+
return bytes(data)
30+
2831

2932
class TinyLinkTest(unittest.TestCase):
3033
"""
@@ -39,10 +42,11 @@ def test_basic(self):
3942
handle = DummyHandle()
4043
link = tinylink.TinyLink(handle)
4144

42-
message = "Hello, this is a test"
45+
message = b"Hello, this is a test"
4346
size = link.write(message)
4447

45-
self.assertEqual(size, tinylink.LEN_PREAMBLE + tinylink.LEN_HEADER +
48+
self.assertEqual(
49+
size, tinylink.LEN_PREAMBLE + tinylink.LEN_HEADER +
4650
tinylink.LEN_BODY + len(message))
4751

4852
# Read `size' bytes to receive the full frame, test it partially
@@ -54,23 +58,9 @@ def test_basic(self):
5458
self.assertEqual(len(frames), 1)
5559
self.assertEqual(frames[0].data, message)
5660

57-
def test_reset(self):
58-
"""
59-
Test reset feature.
60-
"""
61-
62-
handle = DummyHandle()
63-
link = tinylink.TinyLink(handle)
64-
65-
size = link.reset()
66-
frames = link.read(size)
67-
68-
self.assertEqual(len(frames), 1)
69-
self.assertIsInstance(frames[0], tinylink.ResetFrame)
70-
7161
def test_multiple(self):
7262
"""
73-
Test multiple messages
63+
Test multiple messages.
7464
"""
7565

7666
handle = DummyHandle()
@@ -79,14 +69,14 @@ def test_multiple(self):
7969
size = 0
8070

8171
for i in xrange(5):
82-
size += link.write(chr(97 + i))
72+
size += link.write(bytes([97 + i]))
8373

8474
frames = link.read(size)
8575

8676
self.assertEqual(len(frames), 5)
8777

8878
for i in xrange(5):
89-
self.assertEqual(frames[i].data, chr(97 + i))
79+
self.assertEqual(frames[i].data, bytes([97 + i]))
9080

9181
def test_sync(self):
9282
"""
@@ -96,8 +86,8 @@ def test_sync(self):
9686
handle = DummyHandle()
9787
link = tinylink.TinyLink(handle)
9888

99-
garbage = "Garbage here that doesn't synchronize."
100-
message = "Hi!"
89+
garbage = b"Garbage here that doesn't synchronize."
90+
message = b"Hi!"
10191

10292
size = handle.write(garbage) + link.write(message)
10393
frames = link.read(size)
@@ -113,8 +103,8 @@ def test_sync_small(self):
113103
handle = DummyHandle()
114104
link = tinylink.TinyLink(handle, max_length=4)
115105

116-
garbage = "Garbage here that doesn't synchronize."
117-
message = "Hi!"
106+
garbage = b"Garbage here that doesn't synchronize."
107+
message = b"Hi!"
118108

119109
size = handle.write(garbage) + link.write(message)
120110
frames = link.read(size)
@@ -130,7 +120,7 @@ def test_size_fit(self):
130120
handle = DummyHandle()
131121
link = tinylink.TinyLink(handle, max_length=4)
132122

133-
message = "blub"
123+
message = b"blub"
134124

135125
size = link.write(message)
136126
frames = link.read(size)
@@ -146,41 +136,42 @@ def test_size_no_fit(self):
146136
handle = DummyHandle()
147137
link = tinylink.TinyLink(handle, max_length=2)
148138

149-
message = "blub"
139+
message = b"blub"
150140

151141
with self.assertRaises(ValueError):
152-
size = link.write(message)
142+
link.write(message)
153143

154144
def test_damaged_a(self):
155145
"""
156-
Test damaged frame (in total) that will return a DamagedFrame.
146+
Test damaged frame (in total) that will return a Frame with damages is
147+
True.
157148
"""
158149

159150
handle = DummyHandle()
160151
link = tinylink.TinyLink(handle)
161152

162-
message = "Hello, this is a test"
153+
message = b"Hello, this is a test"
163154

164155
size = link.write(message)
165-
handle.buffer[-tinylink.LEN_CRC:] = "\x00" * tinylink.LEN_CRC
156+
handle.stream[-tinylink.LEN_CRC:] = [0x00] * tinylink.LEN_CRC
166157
frames = link.read(size)
167158

168159
self.assertEqual(len(frames), 1)
169160
self.assertEqual(frames[0].data, message)
170-
self.assertIsInstance(frames[0], tinylink.DamagedFrame)
161+
self.assertEqual(frames[0].damaged, True)
171162

172-
def test_damaged_a(self):
163+
def test_damaged_b(self):
173164
"""
174165
Test damaged frame (header) that won't return anything.
175166
"""
176167

177168
handle = DummyHandle()
178169
link = tinylink.TinyLink(handle)
179170

180-
message = "Hello, this is a test"
171+
message = b"Hello, this is a test"
181172

182173
size = link.write(message)
183-
handle.buffer[tinylink.LEN_PREAMBLE+tinylink.LEN_HEADER-1] = "\x00"
174+
handle.stream[tinylink.LEN_PREAMBLE+tinylink.LEN_HEADER-1] = 0x00
184175
frames = link.read(size)
185176

186-
self.assertEqual(len(frames), 0)
177+
self.assertEqual(len(frames), 0)

0 commit comments

Comments
 (0)