Beispiel #1
0
    def to_jsonstring(self, pretty=False):
        """Serialize the data representation of an object to a JSON string.

        Parameters
        ----------
        pretty : bool, optional
            If ``True`` serialize a pretty representation of the data.
            Default is ``False``.

        Returns
        -------
        str
            A JSON string representation of the data.
        """
        compas.json_dumps(self.data, pretty)
Beispiel #2
0
 def test_json_numpy():
     before = [
         np.array([1, 2, 3]),
         np.array([1.0, 2.0, 3.0]),
         np.float64(1.0),
         np.int32(1)
     ]
     after = compas.json_loads(compas.json_dumps(before))
     assert after == [[1, 2, 3], [1.0, 2.0, 3.0], 1.0, 1]
Beispiel #3
0
def test_json_volmesh():
    before = VolMesh.from_vertices_and_cells(
        [[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0, 0, 1], [1, 0, 1],
         [1, 1, 1], [0, 1, 1]], [[[0, 1, 5, 4], [1, 2, 5, 6], [2, 3, 7, 6],
                                  [3, 0, 4, 7], [4, 5, 6, 7], [0, 3, 2, 1]]])
    after = compas.json_loads(compas.json_dumps(before))
    assert before.dtype == after.dtype
    assert before.attributes == after.attributes
    assert all(before.has_vertex(vertex) for vertex in after.vertices())
    assert all(after.has_vertex(vertex) for vertex in before.vertices())
Beispiel #4
0
def test_json_network():
    before = Network()
    a = before.add_node()
    b = before.add_node()
    before.add_edge(a, b)
    after = compas.json_loads(compas.json_dumps(before))
    assert before.dtype == after.dtype
    assert before.attributes == after.attributes
    assert all(before.has_node(node) for node in after.nodes())
    assert all(after.has_node(node) for node in before.nodes())
    assert all(before.has_edge(*edge) for edge in after.edges())
    assert all(after.has_edge(*edge) for edge in before.edges())
Beispiel #5
0
def test_json_mesh():
    before = Mesh.from_vertices_and_faces(
        [[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0]], [[0, 1, 2, 3]])
    after = compas.json_loads(compas.json_dumps(before))
    assert before.dtype == after.dtype
    assert all(before.has_vertex(vertex) for vertex in after.vertices())
    assert all(after.has_vertex(vertex) for vertex in before.vertices())
    assert all(before.has_face(face) for face in after.faces())
    assert all(after.has_face(face) for face in before.faces())
    assert all(before.has_edge(edge) for edge in after.edges())
    assert all(after.has_edge(edge) for edge in before.edges())
    assert all(
        before.face_vertices(a) == after.face_vertices(b)
        for a, b in zip(before.faces(), after.faces()))
Beispiel #6
0
 def jsonstring(self):
     """str: The representation of the object data in JSON format."""
     return compas.json_dumps(self.data)
Beispiel #7
0
def test_json_native():
    before = [[], (), {}, '', 1, 1.0, True, None]
    after = compas.json_loads(compas.json_dumps(before))
    assert after == [[], [], {}, '', 1, 1.0, True, None]
Beispiel #8
0
def test_json_pretty():
    result = compas.json_dumps(dict(a=12, b=6565), pretty=True)
    # strip some spacing to make the test pass on ironpython
    result = '\n'.join([line.strip() for line in result.split('\n')])
    assert result == """{\n"a": 12,\n"b": 6565\n}"""
Beispiel #9
0
def test_json_xform():
    before = Transformation.from_frame_to_frame(Frame.worldXY(),
                                                Frame.worldXY())
    after = compas.json_loads(compas.json_dumps(before))
    assert before.dtype == after.dtype
    assert all(a == b for a, b in zip(before, after))
Beispiel #10
0
def test_json_shape():
    before = Box(Frame(Point(0, 0, 0), Vector(1, 0, 0), Vector(0, 1, 0)), 1, 1,
                 1)
    after = compas.json_loads(compas.json_dumps(before))
    assert before.dtype == after.dtype
    assert all(a == b for a, b in zip(before.vertices, after.vertices))
Beispiel #11
0
def test_json_primitive():
    before = Point(0, 0, 0)
    after = compas.json_loads(compas.json_dumps(before))
    assert before.dtype == after.dtype
    assert all(a == b for a, b in zip(before, after))