from unittest import TestCase import simplejson as json from decimal import Decimal class AlternateInt(int): def __repr__(self): return 'invalid json' __str__ = __repr__ class AlternateFloat(float): def __repr__(self): return 'invalid json' __str__ = __repr__ # class AlternateDecimal(Decimal): # def __repr__(self): # return 'invalid json' class TestSubclass(TestCase): def test_int(self): self.assertEqual(json.dumps(AlternateInt(1)), '1') self.assertEqual(json.dumps(AlternateInt(-1)), '-1') self.assertEqual(json.loads(json.dumps({AlternateInt(1): 1})), {'1': 1}) def test_float(self): self.assertEqual(json.dumps(AlternateFloat(1.0)), '1.0') self.assertEqual(json.dumps(AlternateFloat(-1.0)), '-1.0') self.assertEqual(json.loads(json.dumps({AlternateFloat(1.0): 1})), {'1.0': 1}) # NOTE: Decimal subclasses are not supported as-is # def test_decimal(self): # self.assertEqual(json.dumps(AlternateDecimal('1.0')), '1.0') # self.assertEqual(json.dumps(AlternateDecimal('-1.0')), '-1.0')
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 2.45 KB | 0644 |
|
_cibw_runner.py | File | 173 B | 0644 |
|
test_bigint_as_string.py | File | 2.19 KB | 0644 |
|
test_bitsize_int_as_string.py | File | 2.24 KB | 0644 |
|
test_check_circular.py | File | 917 B | 0644 |
|
test_decimal.py | File | 2.48 KB | 0644 |
|
test_decode.py | File | 5.06 KB | 0644 |
|
test_default.py | File | 221 B | 0644 |
|
test_dump.py | File | 10.11 KB | 0644 |
|
test_encode_basestring_ascii.py | File | 2.28 KB | 0644 |
|
test_encode_for_html.py | File | 1.48 KB | 0644 |
|
test_errors.py | File | 2.03 KB | 0644 |
|
test_fail.py | File | 6.3 KB | 0644 |
|
test_float.py | File | 1.64 KB | 0644 |
|
test_for_json.py | File | 2.7 KB | 0644 |
|
test_indent.py | File | 2.51 KB | 0644 |
|
test_item_sort_key.py | File | 1.34 KB | 0644 |
|
test_iterable.py | File | 1.36 KB | 0644 |
|
test_namedtuple.py | File | 5.76 KB | 0644 |
|
test_pass1.py | File | 1.71 KB | 0644 |
|
test_pass2.py | File | 386 B | 0644 |
|
test_pass3.py | File | 482 B | 0644 |
|
test_raw_json.py | File | 1.04 KB | 0644 |
|
test_recursion.py | File | 1.64 KB | 0644 |
|
test_scanstring.py | File | 7.47 KB | 0644 |
|
test_separators.py | File | 942 B | 0644 |
|
test_speedups.py | File | 4.05 KB | 0644 |
|
test_str_subclass.py | File | 740 B | 0644 |
|
test_subclass.py | File | 1.1 KB | 0644 |
|
test_tool.py | File | 3.23 KB | 0644 |
|
test_tuple.py | File | 1.79 KB | 0644 |
|
test_unicode.py | File | 6.89 KB | 0644 |
|