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
|
"""Unit tests for buffer objects.
For now, we just test (the brand new) rich comparison.
"""
import unittest
from test import test_support
class BufferTests(unittest.TestCase):
def test_comparison(self):
a = buffer("a.b.c")
b = buffer("a.b" + ".c")
self.assert_(a == b)
self.assert_(a <= b)
self.assert_(a >= b)
self.assert_(a == "a.b.c")
self.assert_(a <= "a.b.c")
self.assert_(a >= "a.b.c")
b = buffer("a.b.c.d")
self.assert_(a != b)
self.assert_(a <= b)
self.assert_(a < b)
self.assert_(a != "a.b.c.d")
self.assert_(a < "a.b.c.d")
self.assert_(a <= "a.b.c.d")
b = buffer("a.b")
self.assert_(a != b)
self.assert_(a >= b)
self.assert_(a > b)
self.assert_(a != "a.b")
self.assert_(a > "a.b")
self.assert_(a >= "a.b")
b = object()
self.assert_(a != b)
self.failIf(a == b)
self.assertRaises(TypeError, lambda: a < b)
def test_extended_getslice(self):
# Test extended slicing by comparing with list slicing.
s = bytes(range(255, -1, -1))
b = buffer(s)
indices = (0, None, 1, 3, 19, 300, -1, -2, -31, -300)
for start in indices:
for stop in indices:
# Skip step 0 (invalid)
for step in indices[1:]:
self.assertEqual(b[start:stop:step],
s[start:stop:step])
def test_main():
test_support.run_unittest(BufferTests)
if __name__ == "__main__":
test_main()
|