def test_uint(self): s = Serializer.uint() a = (0, 255, 256, (1<<64)-1) b = ("\x00", "\x01\xff", "\x02\x01\x00", "\x08\xff\xff\xff\xff\xff\xff\xff\xff") c = (0, 255, 256, (1<<64)-1) for x, y, z in zip(a, b, c): self.assertEqual(s.encode(x), y) self.assertEqual(s.decode(y), z)
def test_uint(self): s = Serializer.uint() a = (0, 255, 256, (1 << 64) - 1) b = (b"\x00", b"\x01\xff", b"\x02\x01\x00", b"\x08\xff\xff\xff\xff\xff\xff\xff\xff") c = (0, 255, 256, (1 << 64) - 1) for x, y, z in zip(a, b, c): self.assertEqual(s.encode(x), y) self.assertEqual(s.decode(y), z)
def test_fifo(self): with self.g.transaction(write=True) as txn: f = txn.fifo('foo', serialize_value=Serializer.uint()) f.push(1, 2, 3) out = f.pop(4) self.assertEqual(out, (1, 2, 3)) self.assertTrue(f.empty) f.push(4, 5, 6) self.assertFalse(f.empty) self.assertEqual(len(f), 3) out = f.pop(4) self.assertEqual(out, (4, 5, 6)) self.assertEqual(len(f), 0)