[otConverters_test] add tests for _LazyList
This commit is contained in:
parent
a47f658855
commit
4bf68d82bc
@ -350,6 +350,75 @@ class AATLookupTest(unittest.TestCase):
|
||||
])
|
||||
|
||||
|
||||
class LazyListTest(unittest.TestCase):
|
||||
|
||||
def test_slice(self):
|
||||
ll = otConverters._LazyList([10, 11, 12, 13])
|
||||
sl = ll[:]
|
||||
|
||||
self.assertIsNot(sl, ll)
|
||||
self.assertIsInstance(sl, list)
|
||||
self.assertEqual([10, 11, 12, 13], sl)
|
||||
|
||||
self.assertEqual([11, 12], ll[1:3])
|
||||
|
||||
def test_getitem(self):
|
||||
count = 2
|
||||
reader = OTTableReader(b"\x00\xFE\xFF\x00\x00\x00", offset=1)
|
||||
converter = otConverters.UInt8("UInt8", 0, None, None)
|
||||
recordSize = converter.staticSize
|
||||
l = otConverters._LazyList()
|
||||
l.reader = reader
|
||||
l.pos = l.reader.pos
|
||||
l.font = None
|
||||
l.conv = converter
|
||||
l.recordSize = recordSize
|
||||
l.extend(otConverters._MissingItem([i]) for i in range(count))
|
||||
reader.advance(count * recordSize)
|
||||
|
||||
self.assertEqual(l[0], 254)
|
||||
self.assertEqual(l[1], 255)
|
||||
|
||||
def test_add_both_LazyList(self):
|
||||
ll1 = otConverters._LazyList([1])
|
||||
ll2 = otConverters._LazyList([2])
|
||||
|
||||
l3 = ll1 + ll2
|
||||
|
||||
self.assertIsInstance(l3, list)
|
||||
self.assertEqual([1, 2], l3)
|
||||
|
||||
def test_add_LazyList_and_list(self):
|
||||
ll1 = otConverters._LazyList([1])
|
||||
l2 = [2]
|
||||
|
||||
l3 = ll1 + l2
|
||||
|
||||
self.assertIsInstance(l3, list)
|
||||
self.assertEqual([1, 2], l3)
|
||||
|
||||
def test_add_not_implemented(self):
|
||||
with self.assertRaises(TypeError):
|
||||
otConverters._LazyList() + 0
|
||||
with self.assertRaises(TypeError):
|
||||
otConverters._LazyList() + tuple()
|
||||
|
||||
def test_radd_list_and_LazyList(self):
|
||||
l1 = [1]
|
||||
ll2 = otConverters._LazyList([2])
|
||||
|
||||
l3 = l1 + ll2
|
||||
|
||||
self.assertIsInstance(l3, list)
|
||||
self.assertEqual([1, 2], l3)
|
||||
|
||||
def test_radd_not_implemented(self):
|
||||
with self.assertRaises(TypeError):
|
||||
0 + otConverters._LazyList()
|
||||
with self.assertRaises(TypeError):
|
||||
tuple() + otConverters._LazyList()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
sys.exit(unittest.main())
|
||||
|
Loading…
x
Reference in New Issue
Block a user