from src.config_parser.serialize.json import serialize as serialize_json def test_serialize_json(): assert serialize_json(True) == 'true' assert serialize_json(False) == 'false' assert serialize_json(True, indent = 4) == 'true' assert serialize_json(None) == 'null' assert serialize_json({1: {None: True}}, indent = 4) == '''{ "1": { "null": true } }''' assert serialize_json({1: {None: True}}) == '{"1": {"null": true}}' assert serialize_json({1: {None: True}, 2: 'Hello, World!'}, separators = (',', ':')) == '{"1":{"null":true},"2":"Hello, World!"}' array = [True, False, 1, None, 'Hello, World!'] assert serialize_json(array) == '[true, false, 1, null, "Hello, World!"]' assert serialize_json(array, 4, 'X', (';', ':')) == '''[ XXXXtrue; XXXXfalse; XXXX1; XXXXnull; XXXX"Hello, World!" ]''' assert serialize_json((1, 2, 3)) == '[1, 2, 3]' assert serialize_json(range(3)) == '[0, 1, 2]' assert serialize_json(b'\x0142') == '[1, 52, 50]' assert serialize_json('Hello, World!') == '"Hello, World!"' assert serialize_json('Hello,\nWorld!') == '"Hello,\\nWorld!"' assert serialize_json('Hello,"World!') == '"Hello,\\"World!"' assert serialize_json('Hello,\\World!') == '"Hello,\\\\World!"' assert serialize_json('Hello,\bWorld!') == '"Hello,\\bWorld!"' assert serialize_json('Hello,\tWorld!') == '"Hello,\\tWorld!"' assert serialize_json('Hello,\rWorld!') == '"Hello,\\rWorld!"' assert serialize_json('Hello,\fWorld!') == '"Hello,\\fWorld!"' assert serialize_json(0) == '0' assert serialize_json(1) == '1' assert serialize_json(-1) == '-1' assert serialize_json(0.0) == '0.0' assert serialize_json(-0.0) == '-0.0' assert serialize_json(-42.0) == '-42.0' try: serialize_json({1, 2, 3}) assert False, 'Expected TypeError' except TypeError: pass