Download lib/python3.12/site-packages/hjson/tests/test_recursion.py from parallel-reasoner/env-full: direct link, hf CLI and curl.
- Browser
- Download file 1.69 kB
-
https://huggingface.co/parallel-reasoner/env-full/resolve/a2585bd5ca1cf640fa361bd20177ded829caaa8d/lib/python3.12/site-packages/hjson/tests/test_recursion.py
- Command line
-
hf download hf://parallel-reasoner/env-full@a2585bd5ca1cf640fa361bd20177ded829caaa8d/lib/python3.12/site-packages/hjson/tests/test_recursion.py
-
curl -L -o test_recursion.py https://huggingface.co/parallel-reasoner/env-full/resolve/a2585bd5ca1cf640fa361bd20177ded829caaa8d/lib/python3.12/site-packages/hjson/tests/test_recursion.py
1.69 kB
| from unittest import TestCase | |
| import hjson as json | |
| class JSONTestObject: | |
| pass | |
| class RecursiveJSONEncoder(json.JSONEncoder): | |
| recurse = False | |
| def default(self, o): | |
| if o is JSONTestObject: | |
| if self.recurse: | |
| return [JSONTestObject] | |
| else: | |
| return 'JSONTestObject' | |
| return json.JSONEncoder.default(o) | |
| class TestRecursion(TestCase): | |
| def test_listrecursion(self): | |
| x = [] | |
| x.append(x) | |
| try: | |
| json.dumpsJSON(x) | |
| except ValueError: | |
| pass | |
| else: | |
| self.fail("didn't raise ValueError on list recursion") | |
| x = [] | |
| y = [x] | |
| x.append(y) | |
| try: | |
| json.dumpsJSON(x) | |
| except ValueError: | |
| pass | |
| else: | |
| self.fail("didn't raise ValueError on alternating list recursion") | |
| y = [] | |
| x = [y, y] | |
| # ensure that the marker is cleared | |
| json.dumpsJSON(x) | |
| def test_dictrecursion(self): | |
| x = {} | |
| x["test"] = x | |
| try: | |
| json.dumpsJSON(x) | |
| except ValueError: | |
| pass | |
| else: | |
| self.fail("didn't raise ValueError on dict recursion") | |
| x = {} | |
| y = {"a": x, "b": x} | |
| # ensure that the marker is cleared | |
| json.dumpsJSON(y) | |
| def test_defaultrecursion(self): | |
| enc = RecursiveJSONEncoder() | |
| self.assertEqual(enc.encode(JSONTestObject), '"JSONTestObject"') | |
| enc.recurse = True | |
| try: | |
| enc.encode(JSONTestObject) | |
| except ValueError: | |
| pass | |
| else: | |
| self.fail("didn't raise ValueError on default recursion") | |