def test_floats(self): assert_type = self.assertEqual if pbjson._has_encoder_speedups() else self.assertGreaterEqual for num in [ Decimal("1617161771.7650001"), math.pi, math.pi ** 100, math.pi ** -100, 3.1, 3.1000000001, 3.1000000002, 3.10000000001, 3.100000000001, 3.1000000000001, 3.10000000000001, 0.00012345678901234572, 0.00012345678901234574, 0.00012345678901234576, 0.00012345678901234578, 152.79823, 152.798229999999975, 0.7, ]: encoded = pbjson.dumps(float(num)) decoded = pbjson.loads(encoded) s = str(num) if s[0] == "0": s = s[1:] length = 1 + int((len(s) + 1) / 2) self.assertEqual(decoded, float(num)) assert_type(length, len(encoded), num)
def run(self, result, debug=False): import pbjson run = unittest.TestSuite.run for i in range(1): run(self, result) if not pbjson._has_encoder_speedups() and not pbjson._has_decoder_speedups(): TestMissingSpeedups().run(result) else: pbjson._toggle_speedups(False) run(self, result) pbjson._toggle_speedups(True) return result
def test_floats(self): assert_type = self.assertEqual if pbjson._has_encoder_speedups() else self.assertGreaterEqual for num in [Decimal('1617161771.7650001'), math.pi, math.pi ** 100, math.pi ** -100, 3.1, 3.1000000001, 3.1000000002, 3.10000000001, 3.100000000001, 3.1000000000001, 3.10000000000001, 0.00012345678901234572, 0.00012345678901234574, 0.00012345678901234576, 0.00012345678901234578, 152.79823, 152.798229999999975, 0.7]: encoded = pbjson.dumps(float(num)) decoded = pbjson.loads(encoded) s = str(num) if s[0] == '0': s = s[1:] length = 1 + int((len(s) + 1) / 2) self.assertEqual(decoded, float(num)) assert_type(length, len(encoded), num)
def test_make_encoder(self): if not pbjson._has_encoder_speedups(): return self.assertRaises(TypeError, pbjson.encoder.c_iterencoder)