def teste_complexo(self): src = """ { "name": "Fulano da Silva", "age": 20, "languages": [ "Python", "Javascript", "Haskell" ] } """ assert parse(src) == grammar.parse(src) == json.loads(src)
def invalid(self, src): with pytest.raises((ValueError, SyntaxError, LexError)): result = parse(src) print("In:", src) print("Out:", result)
def test_remove_chave_final(self): assert parse("[{}]") == [{}] assert parse('[{"x": 1}]') == [{"x": 1}]
def test_remove_colchete_final(self): assert parse('{"x": []}') == {"x": []} assert parse('{"x": [1]}') == {"x": [1]}
def test_objetos(self, obj): assert parse(obj) == grammar.parse(obj)
def test_arrays(self, array): assert parse(array) == grammar.parse(array)
def test_valores_atomicos(self, atomic): assert parse(atomic) == grammar.parse(atomic)