- def test_max_base_2(self):
- for value in ((2**exp) - 2 for exp in xrange(57, 1024)):
- self.assert_roundtrip(value, max_length=1024)
+ def test_ebml_ids(self):
+ for id_ in self.ebml_ids:
+ self.assert_roundtrip(id_)
+
+
+class ValueTestCase(unittest.TestCase):
+ encoder = None
+ reader = None
+
+ def assert_roundtrip(self, value):
+ if self.encoder is not None and self.reader is not None:
+ encoded = self.encoder(value)
+ encoded_stream = StringIO(encoded)
+ self.assertEqual(value, self.reader(encoded_stream, len(encoded)))
+ else:
+ raise NotImplementedError
+
+
+class UnsignedIntegerTests(ValueTestCase):
+ encoder = staticmethod(encode_unsigned_integer)
+ reader = staticmethod(read_unsigned_integer)
+ maximum = 2**64 - 1