gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / lib / simplejson / tests / test_bigint_as_string.py @ 545
History | View | Annotate | Download (2.19 KB)
1 |
from unittest import TestCase |
---|---|
2 |
|
3 |
import simplejson as json |
4 |
|
5 |
|
6 |
class TestBigintAsString(TestCase): |
7 |
# Python 2.5, at least the one that ships on Mac OS X, calculates
|
8 |
# 2 ** 53 as 0! It manages to calculate 1 << 53 correctly.
|
9 |
values = [(200, 200), |
10 |
((1 << 53) - 1, 9007199254740991), |
11 |
((1 << 53), '9007199254740992'), |
12 |
((1 << 53) + 1, '9007199254740993'), |
13 |
(-100, -100), |
14 |
((-1 << 53), '-9007199254740992'), |
15 |
((-1 << 53) - 1, '-9007199254740993'), |
16 |
((-1 << 53) + 1, -9007199254740991)] |
17 |
|
18 |
options = ( |
19 |
{"bigint_as_string": True}, |
20 |
{"int_as_string_bitcount": 53} |
21 |
) |
22 |
|
23 |
def test_ints(self): |
24 |
for opts in self.options: |
25 |
for val, expect in self.values: |
26 |
self.assertEqual(
|
27 |
val, |
28 |
json.loads(json.dumps(val))) |
29 |
self.assertEqual(
|
30 |
expect, |
31 |
json.loads(json.dumps(val, **opts))) |
32 |
|
33 |
def test_lists(self): |
34 |
for opts in self.options: |
35 |
for val, expect in self.values: |
36 |
val = [val, val] |
37 |
expect = [expect, expect] |
38 |
self.assertEqual(
|
39 |
val, |
40 |
json.loads(json.dumps(val))) |
41 |
self.assertEqual(
|
42 |
expect, |
43 |
json.loads(json.dumps(val, **opts))) |
44 |
|
45 |
def test_dicts(self): |
46 |
for opts in self.options: |
47 |
for val, expect in self.values: |
48 |
val = {'k': val}
|
49 |
expect = {'k': expect}
|
50 |
self.assertEqual(
|
51 |
val, |
52 |
json.loads(json.dumps(val))) |
53 |
self.assertEqual(
|
54 |
expect, |
55 |
json.loads(json.dumps(val, **opts))) |
56 |
|
57 |
def test_dict_keys(self): |
58 |
for opts in self.options: |
59 |
for val, _ in self.values: |
60 |
expect = {str(val): 'value'} |
61 |
val = {val: 'value'}
|
62 |
self.assertEqual(
|
63 |
expect, |
64 |
json.loads(json.dumps(val))) |
65 |
self.assertEqual(
|
66 |
expect, |
67 |
json.loads(json.dumps(val, **opts))) |