Skip to content

Commit 75effb4

Browse files
committed
add tests
1 parent 6acb969 commit 75effb4

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

pandas/tests/io/json/test_ujson.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,49 @@ def test_encodeDecimal(self):
4343
decoded = ujson.decode(encoded)
4444
self.assertEqual(decoded, 1337.1337)
4545

46+
sut = decimal.Decimal("0.95")
47+
encoded = ujson.encode(sut, double_precision=1)
48+
self.assertEqual(encoded, "1.0")
49+
decoded = ujson.decode(encoded)
50+
self.assertEqual(decoded, 1.0)
51+
52+
sut = decimal.Decimal("0.94")
53+
encoded = ujson.encode(sut, double_precision=1)
54+
self.assertEqual(encoded, "0.9")
55+
decoded = ujson.decode(encoded)
56+
self.assertEqual(decoded, 0.9)
57+
58+
sut = decimal.Decimal("1.95")
59+
encoded = ujson.encode(sut, double_precision=1)
60+
self.assertEqual(encoded, "2.0")
61+
decoded = ujson.decode(encoded)
62+
self.assertEqual(decoded, 2.0)
63+
64+
65+
sut = decimal.Decimal("-1.95")
66+
encoded = ujson.encode(sut, double_precision=1)
67+
self.assertEqual(encoded, "-2.0")
68+
decoded = ujson.decode(encoded)
69+
self.assertEqual(decoded, -2.0)
70+
71+
sut = decimal.Decimal("0.995")
72+
encoded = ujson.encode(sut, double_precision=2)
73+
self.assertEqual(encoded, "1.0")
74+
decoded = ujson.decode(encoded)
75+
self.assertEqual(decoded, 1.0)
76+
77+
sut = decimal.Decimal("0.9995")
78+
encoded = ujson.encode(sut, double_precision=3)
79+
self.assertEqual(encoded, "1.0")
80+
decoded = ujson.decode(encoded)
81+
self.assertEqual(decoded, 1.0)
82+
83+
sut = decimal.Decimal("0.99999999999999944")
84+
encoded = ujson.encode(sut, double_precision=15)
85+
self.assertEqual(encoded, "1.0")
86+
decoded = ujson.decode(encoded)
87+
self.assertEqual(decoded, 1.0)
88+
4689
def test_encodeStringConversion(self):
4790
input = "A string \\ / \b \f \n \r \t </script> &"
4891
not_html_encoded = ('"A string \\\\ \\/ \\b \\f \\n '

0 commit comments

Comments
 (0)