From d74be3c55ef6203425b8ac944392f35aa0448cdc Mon Sep 17 00:00:00 2001 From: Kieran O'Mahony Date: Wed, 10 Jul 2013 11:17:29 +1000 Subject: [PATCH] TST: fix ujson tests failures on 32-bit --- pandas/io/tests/test_json/test_ujson.py | 47 ++++++++++++++----------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/pandas/io/tests/test_json/test_ujson.py b/pandas/io/tests/test_json/test_ujson.py index 23bd41d245f75..f838f8b7ea15c 100644 --- a/pandas/io/tests/test_json/test_ujson.py +++ b/pandas/io/tests/test_json/test_ujson.py @@ -96,7 +96,12 @@ def test_decimalDecodeTest(self): sut = {u'a': 4.56} encoded = ujson.encode(sut) decoded = ujson.decode(encoded) - self.assertNotEqual(sut, decoded) + + # Roundtrip works on 32-bit / fails on 64-bit + if sys.maxsize < 2**32: + self.assertEqual(sut, decoded) + else: + self.assertNotEqual(sut, decoded) def test_decimalDecodeTestPrecise(self): sut = {u'a': 4.56} @@ -1396,25 +1401,27 @@ def test_decodeArrayFaultyUnicode(self): def test_decodeFloatingPointAdditionalTests(self): - self.assertEquals(-1.1234567893, ujson.loads("-1.1234567893")) - self.assertEquals(-1.234567893, ujson.loads("-1.234567893")) - self.assertEquals(-1.34567893, ujson.loads("-1.34567893")) - self.assertEquals(-1.4567893, ujson.loads("-1.4567893")) - self.assertEquals(-1.567893, ujson.loads("-1.567893")) - self.assertEquals(-1.67893, ujson.loads("-1.67893")) - self.assertEquals(-1.7893, ujson.loads("-1.7893")) - self.assertEquals(-1.893, ujson.loads("-1.893")) - self.assertEquals(-1.3, ujson.loads("-1.3")) - - self.assertEquals(1.1234567893, ujson.loads("1.1234567893")) - self.assertEquals(1.234567893, ujson.loads("1.234567893")) - self.assertEquals(1.34567893, ujson.loads("1.34567893")) - self.assertEquals(1.4567893, ujson.loads("1.4567893")) - self.assertEquals(1.567893, ujson.loads("1.567893")) - self.assertEquals(1.67893, ujson.loads("1.67893")) - self.assertEquals(1.7893, ujson.loads("1.7893")) - self.assertEquals(1.893, ujson.loads("1.893")) - self.assertEquals(1.3, ujson.loads("1.3")) + places = 15 + + self.assertAlmostEquals(-1.1234567893, ujson.loads("-1.1234567893"), places=places) + self.assertAlmostEquals(-1.234567893, ujson.loads("-1.234567893"), places=places) + self.assertAlmostEquals(-1.34567893, ujson.loads("-1.34567893"), places=places) + self.assertAlmostEquals(-1.4567893, ujson.loads("-1.4567893"), places=places) + self.assertAlmostEquals(-1.567893, ujson.loads("-1.567893"), places=places) + self.assertAlmostEquals(-1.67893, ujson.loads("-1.67893"), places=places) + self.assertAlmostEquals(-1.7893, ujson.loads("-1.7893"), places=places) + self.assertAlmostEquals(-1.893, ujson.loads("-1.893"), places=places) + self.assertAlmostEquals(-1.3, ujson.loads("-1.3"), places=places) + + self.assertAlmostEquals(1.1234567893, ujson.loads("1.1234567893"), places=places) + self.assertAlmostEquals(1.234567893, ujson.loads("1.234567893"), places=places) + self.assertAlmostEquals(1.34567893, ujson.loads("1.34567893"), places=places) + self.assertAlmostEquals(1.4567893, ujson.loads("1.4567893"), places=places) + self.assertAlmostEquals(1.567893, ujson.loads("1.567893"), places=places) + self.assertAlmostEquals(1.67893, ujson.loads("1.67893"), places=places) + self.assertAlmostEquals(1.7893, ujson.loads("1.7893"), places=places) + self.assertAlmostEquals(1.893, ujson.loads("1.893"), places=places) + self.assertAlmostEquals(1.3, ujson.loads("1.3"), places=places) def test_encodeBigSet(self): s = set()