@@ -20,23 +20,23 @@ def test_json_native():
2020
2121def test_json_primitive ():
2222 before = Point (0 , 0 , 0 )
23- after = compas .json_loads (compas .json_dumps (before ))
23+ after = compas .json_loads (compas .json_dumps (before )) # type: Point
2424 assert before .__dtype__ == after .__dtype__
2525 assert all (a == b for a , b in zip (before , after ))
2626 assert before .guid == after .guid
2727
2828
2929def test_json_shape ():
3030 before = Box (frame = Frame (Point (0 , 0 , 0 ), Vector (1 , 0 , 0 ), Vector (0 , 1 , 0 )), xsize = 1 , ysize = 1 , zsize = 1 )
31- after = compas .json_loads (compas .json_dumps (before ))
31+ after = compas .json_loads (compas .json_dumps (before )) # type: Box
3232 assert before .__dtype__ == after .__dtype__
3333 assert all (a == b for a , b in zip (before .to_vertices_and_faces ()[0 ], after .to_vertices_and_faces ()[0 ]))
3434 assert before .guid == after .guid
3535
3636
3737def test_json_xform ():
3838 before = Transformation .from_frame_to_frame (Frame .worldXY (), Frame .worldXY ())
39- after = compas .json_loads (compas .json_dumps (before ))
39+ after = compas .json_loads (compas .json_dumps (before )) # type: Transformation
4040 assert before .__dtype__ == after .__dtype__
4141 assert all (a == b for a , b in zip (before , after ))
4242 assert before .guid == after .guid
@@ -47,7 +47,7 @@ def test_json_graph():
4747 a = before .add_node ()
4848 b = before .add_node ()
4949 before .add_edge (a , b )
50- after = compas .json_loads (compas .json_dumps (before ))
50+ after = compas .json_loads (compas .json_dumps (before )) # type: Graph
5151 assert before .__dtype__ == after .__dtype__
5252 # assert before.attributes == after.attributes
5353 assert all (before .has_node (node ) for node in after .nodes ())
@@ -59,7 +59,7 @@ def test_json_graph():
5959
6060def test_json_mesh ():
6161 before = Mesh .from_vertices_and_faces ([[0 , 0 , 0 ], [1 , 0 , 0 ], [1 , 1 , 0 ], [0 , 1 , 0 ]], [[0 , 1 , 2 , 3 ]])
62- after = compas .json_loads (compas .json_dumps (before ))
62+ after = compas .json_loads (compas .json_dumps (before )) # type: Mesh
6363 assert before .__dtype__ == after .__dtype__
6464 # assert before.attributes == after.attributes
6565 assert all (before .has_vertex (vertex ) for vertex in after .vertices ())
@@ -95,7 +95,7 @@ def test_json_volmesh():
9595 ]
9696 ],
9797 )
98- after = compas .json_loads (compas .json_dumps (before ))
98+ after = compas .json_loads (compas .json_dumps (before )) # type: VolMesh
9999 assert before .__dtype__ == after .__dtype__
100100 # assert before.attributes == after.attributes
101101 assert all (before .has_vertex (vertex ) for vertex in after .vertices ())
@@ -121,12 +121,34 @@ def test_json_zip():
121121
122122 before = Box (frame = Frame (Point (0 , 0 , 0 ), Vector (1 , 0 , 0 ), Vector (0 , 1 , 0 )), xsize = 2 , ysize = 5 , zsize = 3 )
123123 compas .json_dumpz (before , zipfile_name )
124- after = compas .json_loadz (zipfile_name )
124+ after = compas .json_loadz (zipfile_name ) # type: Box
125125 assert before .__dtype__ == after .__dtype__
126126 assert all (a == b for a , b in zip (before .to_vertices_and_faces ()[0 ], after .to_vertices_and_faces ()[0 ]))
127127 assert before .guid == after .guid
128128
129129
130+ def test_json_attributeview ():
131+ mesh = Mesh .from_meshgrid (10 , 10 )
132+ before = Mesh ()
133+ for vertex in mesh .vertices ():
134+ attr = mesh .vertex_attributes (vertex )
135+ before .add_vertex (key = vertex , attr_dict = attr )
136+ for face in mesh .faces ():
137+ attr = mesh .face_attributes (face )
138+ before .add_face (vertices = mesh .face_vertices (face ), fkey = face , attr_dict = attr )
139+ after = compas .json_loads (compas .json_dumps (before )) # type: Mesh
140+
141+ assert before .__dtype__ == after .__dtype__
142+ assert all (before .has_vertex (vertex ) for vertex in after .vertices ())
143+ assert all (after .has_vertex (vertex ) for vertex in before .vertices ())
144+ assert all (before .has_face (face ) for face in after .faces ())
145+ assert all (after .has_face (face ) for face in before .faces ())
146+ assert all (before .has_edge (edge ) for edge in after .edges ())
147+ assert all (after .has_edge (edge ) for edge in before .edges ())
148+ assert all (before .face_vertices (a ) == after .face_vertices (b ) for a , b in zip (before .faces (), after .faces ()))
149+ assert before .guid == after .guid
150+
151+
130152# temporarily commented because folder does not exist yet on main
131153# def test_json_url():
132154# data = compas.json_load('https://raw.githubusercontent.com/compas-dev/compas/main/src/compas/data/schemas/graph.json')
0 commit comments