Ejemplo n.º 1
0
def test_list_raw(objects):
    out = io.StringIO()
    jp = jsonfile.JsonProto()
    out.write(jp.start_list())

    for item in objects:
        out.write(jp.list_item(item))

    out.write(jp.end_list())

    remade = json.loads(out.getvalue())
    assert remade == objects
Ejemplo n.º 2
0
def test_dict_raw(objects):
    out = io.StringIO()
    jp = jsonfile.JsonProto()
    out.write(jp.start_dict())

    for item in objects.items():
        out.write(jp.dict_item(*item))

    out.write(jp.end_dict())

    serialized = out.getvalue()
    note(serialized)
    remade = json.loads(serialized)
    assert remade == objects
Ejemplo n.º 3
0
def test_dict_piecemeal(objects):
    out = io.StringIO()
    jp = jsonfile.JsonProto()
    out.write(jp.start_dict())

    for k, v in objects.items():
        out.write(jp.dict_key(k))
        out.write(jp.dict_value(v))

    out.write(jp.end_dict())

    serialized = out.getvalue()
    note(serialized)
    remade = json.loads(serialized)
    assert remade == objects
Ejemplo n.º 4
0
def test_write_nan():
    jp = jsonfile.JsonProto()
    remade = json.loads(jp.toplevel_item(float('nan')))
    assert math.isnan(remade)
Ejemplo n.º 5
0
def test_write_obj(obj):
    jp = jsonfile.JsonProto()
    remade = json.loads(jp.toplevel_item(obj))
    assert remade == obj
Ejemplo n.º 6
0
def test_list_item_in_dict():
    jp = jsonfile.JsonProto()
    jp.start_list()
    with pytest.raises(Exception):
        jp.dict_key('asdf')
Ejemplo n.º 7
0
def test_two_top_level_items():
    jp = jsonfile.JsonProto()
    jp.start_list()
    jp.end_list()
    with pytest.raises(Exception):
        jp.start_list()