def test_decode_encode_def(self): v = 33958800 encoded = timedelta.encode(v) self.assertEqual(4, len(encoded)) self.assertEqual(chr(0xe2), encoded[0]) self.assertEqual(chr(0x06), encoded[1]) self.assertEqual(chr(0x2b), encoded[2]) self.assertEqual(chr(0x90), encoded[3]) year_in_ns = 365 * 24 * 3600 * 10 ** 9 for v in range(0, 10 * year_in_ns, year_in_ns / 50): encoded = timedelta.encode(v) decoded, _ = timedelta.decode(StringIO.StringIO(encoded)) self.assertEqual(v, decoded)
def test_decode_encode_def(self): v = 33958800 encoded = timedelta.encode(v) self.assertEqual(4, len(encoded)) self.assertEqual(chr(0xe2), encoded[0]) self.assertEqual(chr(0x06), encoded[1]) self.assertEqual(chr(0x2b), encoded[2]) self.assertEqual(chr(0x90), encoded[3]) year_in_ns = 365 * 24 * 3600 * 10**9 for v in range(0, 10 * year_in_ns, year_in_ns / 50): encoded = timedelta.encode(v) decoded, _ = timedelta.decode(StringIO.StringIO(encoded)) self.assertEqual(v, decoded)
def get_time_delta_cached(self, time_from, time_to): diff = time_to - time_from if diff < 0: raise TimeError(time_from, time_to) if diff in delta_cache: return delta_cache[diff] else: delta = timedelta.encode(diff) delta_cache[diff] = delta return delta
def test_decode_encode_def(self): v = 33958800 encoded = timedelta.encode(v) self.assertEqual(4, len(encoded)) self.assertEqual(chr(0xe2), encoded[0]) self.assertEqual(chr(0x06), encoded[1]) self.assertEqual(chr(0x2b), encoded[2]) self.assertEqual(chr(0x90), encoded[3]) decoded, _ = timedelta.decode(StringIO.StringIO(encoded)) self.assertEqual(33958800, decoded)
def update_time(self, time, nanotime): time = self.time_to_int(time, nanotime) diff = time - self.value_start_time self.time = time if diff in self.delta_cache: encoded = self.delta_cache[diff] else: encoded = timedelta.encode(diff) self.delta_cache[diff] = encoded self.time_size = len(encoded) return encoded
def get_time_delta(self, time_from, time_to): diff = time_to - time_from if diff < 0: raise TimeError(time_from, time_to) return timedelta.encode(diff)