File: test_check_circular.py

package info (click to toggle)
python-hjson 3.1.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,188 kB
  • sloc: python: 3,098; makefile: 13; sh: 8
file content (30 lines) | stat: -rw-r--r-- 940 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from unittest import TestCase
import hjson as json

def default_iterable(obj):
    return list(obj)

class TestCheckCircular(TestCase):
    def test_circular_dict(self):
        dct = {}
        dct['a'] = dct
        self.assertRaises(ValueError, json.dumpsJSON, dct)

    def test_circular_list(self):
        lst = []
        lst.append(lst)
        self.assertRaises(ValueError, json.dumpsJSON, lst)

    def test_circular_composite(self):
        dct2 = {}
        dct2['a'] = []
        dct2['a'].append(dct2)
        self.assertRaises(ValueError, json.dumpsJSON, dct2)

    def test_circular_default(self):
        json.dumpsJSON([set()], default=default_iterable)
        self.assertRaises(TypeError, json.dumpsJSON, [set()])

    def test_circular_off_default(self):
        json.dumpsJSON([set()], default=default_iterable, check_circular=False)
        self.assertRaises(TypeError, json.dumpsJSON, [set()], check_circular=False)