def test_float(self): stream = self.stream numbers = [random.uniform(-100000, 100000) for _ in range(10000)] for f in numbers: srl.serialize_float(f, stream) stream.seek(0) for f in numbers: x = srl.deserialize_float(stream) # be paranoid... if abs(x + f) == 0: self.assertTrue(abs(f - x) < 1e-6) else: self.assertTrue(abs(f - x) / abs(x + f) < 1e-6)
def test_mixture(self): stream = self.stream vals = [1, 0.33, 0.3290, 1902, 'sshjdhsj', 0.3, -33, 'ueiwriuqrei'] for v in vals: if isinstance(v, int): srl.serialize_int(v, stream) elif isinstance(v, float): srl.serialize_float(v, stream) elif isinstance(v, str): srl.serialize_text(v, stream) stream.seek(0) for v in vals: if isinstance(v, int): x = srl.deserialize_int(stream) self.assertEqual(v, x) elif isinstance(v, float): x = srl.deserialize_float(stream) self.assertTrue(abs(v - x) / abs(v + x) < 1e-6) elif isinstance(v, str): x = srl.deserialize_text(stream) self.assertEqual(v, x)
def test_mixture(self): stream = self.stream vals = [1, 0.33, 0.3290, 1902, "sshjdhsj", 0.3, -33, "ueiwriuqrei"] for v in vals: if isinstance(v, int): srl.serialize_int(v, stream) elif isinstance(v, float): srl.serialize_float(v, stream) elif isinstance(v, str): srl.serialize_text(v, stream) stream.seek(0) for v in vals: if isinstance(v, int): x = srl.deserialize_int(stream) self.assertEqual(v, x) elif isinstance(v, float): x = srl.deserialize_float(stream) self.assertTrue(abs(v - x) / abs(v + x) < 1e-6) elif isinstance(v, str): x = srl.deserialize_text(stream) self.assertEqual(v, x)