Skip to content

Commit cd9e017

Browse files
Merge pull request #7 from Geode-solutions/feature_add_unit_tests
Feature add unit tests
2 parents 416ccb4 + e686ccd commit cd9e017

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+101511
-72
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tests/data/test.og_img2d filter=lfs diff=lfs merge=lfs -text

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.pytest_cache
22
dist
33
venv
4+
output
45
__pycache__

COPYLEFT

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
## Dependencies
2+
3+
Flask: BSD-3-Clause
4+
Copyright (c) 2010-present, Pallets.

src/opengeodeweb_back/geode_functions.py

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
from .geode_objects import objects_list
1717

1818

19-
def get_input(geode_object: str):
20-
return objects_list()[geode_object]["input"]
19+
def get_input_factory(geode_object: str):
20+
return objects_list()[geode_object]["input_factory"]
2121

2222

23-
def get_output(geode_object: str):
24-
return objects_list()[geode_object]["output"]
23+
def get_output_factory(geode_object: str):
24+
return objects_list()[geode_object]["output_factory"]
2525

2626

2727
def load(geode_object: str, file_absolute_path: str):
@@ -34,17 +34,17 @@ def save(geode_object: str, data, folder_absolute_path: str, filename: str):
3434
)
3535

3636

37-
def get_builder(geode_object: str, data):
37+
def create_builder(geode_object: str, data):
3838
return objects_list()[geode_object]["builder"](data)
3939

4040

4141
def assign_crs(geode_object: str, data, crs_name: str, info):
42-
builder = get_builder(geode_object, data)
42+
builder = create_builder(geode_object, data)
4343
objects_list()[geode_object]["crs"]["assign"](data, builder, crs_name, info)
4444

4545

4646
def convert_crs(geode_object: str, data, crs_name: str, info):
47-
builder = get_builder(geode_object, data)
47+
builder = create_builder(geode_object, data)
4848
objects_list()[geode_object]["crs"]["convert"](data, builder, crs_name, info)
4949

5050

@@ -55,7 +55,7 @@ def create_coordinate_system(
5555
input_coordiante_system,
5656
output_coordiante_system,
5757
):
58-
builder = get_builder(geode_object, data)
58+
builder = create_builder(geode_object, data)
5959
objects_list()[geode_object]["crs"]["create"](
6060
data, builder, name, input_coordiante_system, output_coordiante_system
6161
)
@@ -73,20 +73,19 @@ def is_viewable(geode_object: str):
7373
return objects_list()[geode_object]["is_viewable"]
7474

7575

76+
def get_inspector(geode_object: str, data):
77+
return objects_list()[geode_object]["inspector"](data)
78+
79+
7680
def save_viewable(geode_object: str, data, folder_absolute_path: str, id: str):
7781
return objects_list()[geode_object]["save_viewable"](
7882
data, os.path.join(folder_absolute_path, id)
7983
)
8084

8185

82-
def get_inspector(geode_object: str, data):
83-
return objects_list()[geode_object]["inspector"](data)
84-
85-
8686
def get_geode_object_input_extensions(geode_object: str):
8787
inputs_list = []
88-
geode_object_inputs = get_input(geode_object)
89-
88+
geode_object_inputs = get_input_factory(geode_object)
9089
for input in geode_object_inputs:
9190
list_creators = input.list_creators()
9291
inputs_list = inputs_list + list_creators
@@ -97,7 +96,7 @@ def get_geode_object_input_extensions(geode_object: str):
9796

9897
def get_geode_object_output_extensions(geode_object: str):
9998
output_list = []
100-
geode_object_outputs = get_output(geode_object)
99+
geode_object_outputs = get_output_factory(geode_object)
101100

102101
for output in geode_object_outputs:
103102
list_creators = output.list_creators()
@@ -123,17 +122,16 @@ def list_input_extensions(
123122
for geode_object, value in objects_list().items():
124123
if keys:
125124
for key in keys:
126-
if key in value.keys():
127-
print(geode_object)
125+
if key in value:
128126
if type(value[key]) == bool and value[key] == True:
129-
continue
127+
pass
130128
else:
131129
continue
132130
else:
133131
continue
134132

135-
geode_object_list_inputs = get_geode_object_input_extensions(geode_object)
136-
extensions_list = extensions_list + geode_object_list_inputs
133+
geode_object_input_extensions = get_geode_object_input_extensions(geode_object)
134+
extensions_list = extensions_list + geode_object_input_extensions
137135

138136
extensions_list = list(set(extensions_list))
139137
extensions_list.sort()
@@ -152,8 +150,8 @@ def list_geode_objects(extension: str, keys: list = []):
152150
geode_objects_list = []
153151

154152
for geode_object, value in objects_list().items():
155-
geode_object_inputs = get_geode_object_input(geode_object)
156-
for input in geode_object_inputs:
153+
input_factory = get_input_factory(geode_object)
154+
for input in input_factory:
157155
if input.has_creator(extension):
158156
if geode_object not in geode_objects_list:
159157
geode_objects_list.append(geode_object)
@@ -231,7 +229,7 @@ def func_wrapper():
231229

232230

233231
def get_extension_from_filename(filename):
234-
return os.path.splitext(filename)[1][1:]
232+
return os.path.splitext(filename)[1]
235233

236234

237235
def get_form_variables(form, variables_array):
@@ -299,7 +297,7 @@ def convert_geographic_coordinate_system_info(geode_object: str, data, output_cr
299297
def create_coordinate_system(
300298
geode_object: str, data, name, input_coordinate_points, output_coordinate_points
301299
):
302-
builder = get_builder(geode_object, data)
300+
builder = create_builder(geode_object, data)
303301

304302
input_coordiante_system = get_coordinate_system(
305303
geode_object, input_coordinate_points

src/opengeodeweb_back/geode_objects.py

Lines changed: 48 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
def objects_list():
1010
return {
1111
"BRep": {
12-
"input": [og.BRepInputFactory],
13-
"output": [og.BRepOutputFactory],
12+
"input_factory": [og.BRepInputFactory],
13+
"output_factory": [og.BRepOutputFactory],
1414
"load": og.load_brep,
1515
"save": og.save_brep,
1616
"builder": og.BRepBuilder,
@@ -26,8 +26,11 @@ def objects_list():
2626
"inspector": og_inspector.BRepInspector,
2727
},
2828
"CrossSection": {
29-
"input": [og_gs.CrossSectionInputFactory],
30-
"output": [og.SectionOutputFactory, og_gs.CrossSectionOutputFactory],
29+
"input_factory": [og_gs.CrossSectionInputFactory],
30+
"output_factory": [
31+
og.SectionOutputFactory,
32+
og_gs.CrossSectionOutputFactory,
33+
],
3134
"load": og_gs.load_cross_section,
3235
"save": og_gs.save_cross_section,
3336
"builder": og_gs.CrossSectionBuilder,
@@ -43,8 +46,8 @@ def objects_list():
4346
"inspector": og_inspector.SectionInspector,
4447
},
4548
"EdgedCurve2D": {
46-
"input": [og.EdgedCurveInputFactory2D],
47-
"output": [og.EdgedCurveOutputFactory2D],
49+
"input_factory": [og.EdgedCurveInputFactory2D],
50+
"output_factory": [og.EdgedCurveOutputFactory2D],
4851
"load": og.load_edged_curve2D,
4952
"save": og.save_edged_curve2D,
5053
"builder": og.EdgedCurveBuilder2D.create,
@@ -60,8 +63,8 @@ def objects_list():
6063
"inspector": og_inspector.EdgedCurveInspector2D,
6164
},
6265
"EdgedCurve3D": {
63-
"input": [og.EdgedCurveInputFactory3D],
64-
"output": [og.EdgedCurveOutputFactory3D],
66+
"input_factory": [og.EdgedCurveInputFactory3D],
67+
"output_factory": [og.EdgedCurveOutputFactory3D],
6568
"load": og.load_edged_curve3D,
6669
"save": og.save_edged_curve3D,
6770
"builder": og.EdgedCurveBuilder3D.create,
@@ -77,8 +80,8 @@ def objects_list():
7780
"inspector": og_inspector.EdgedCurveInspector3D,
7881
},
7982
"Graph": {
80-
"input": [og.GraphInputFactory],
81-
"output": [og.GraphOutputFactory],
83+
"input_factory": [og.GraphInputFactory],
84+
"output_factory": [og.GraphOutputFactory],
8285
"load": og.load_graph,
8386
"save": og.save_graph,
8487
"builder": og.GraphBuilder.create,
@@ -87,8 +90,8 @@ def objects_list():
8790
"is_viewable": True,
8891
},
8992
"HybridSolid3D": {
90-
"input": [og.HybridSolidInputFactory3D],
91-
"output": [og.HybridSolidOutputFactory3D],
93+
"input_factory": [og.HybridSolidInputFactory3D],
94+
"output_factory": [og.HybridSolidOutputFactory3D],
9295
"load": og.load_hybrid_solid3D,
9396
"save": og.save_hybrid_solid3D,
9497
"builder": og.HybridSolidBuilder3D.create,
@@ -104,8 +107,8 @@ def objects_list():
104107
"inspector": og_inspector.SolidMeshInspector3D,
105108
},
106109
"PointSet2D": {
107-
"input": [og.PointSetInputFactory2D],
108-
"output": [og.PointSetOutputFactory2D],
110+
"input_factory": [og.PointSetInputFactory2D],
111+
"output_factory": [og.PointSetOutputFactory2D],
109112
"load": og.load_point_set2D,
110113
"save": og.save_point_set2D,
111114
"builder": og.PointSetBuilder2D.create,
@@ -121,8 +124,8 @@ def objects_list():
121124
"inspector": og_inspector.PointSetInspector2D,
122125
},
123126
"PointSet3D": {
124-
"input": [og.PointSetInputFactory3D],
125-
"output": [og.PointSetOutputFactory3D],
127+
"input_factory": [og.PointSetInputFactory3D],
128+
"output_factory": [og.PointSetOutputFactory3D],
126129
"load": og.load_point_set3D,
127130
"save": og.save_point_set3D,
128131
"builder": og.PointSetBuilder3D.create,
@@ -138,8 +141,8 @@ def objects_list():
138141
"inspector": og_inspector.PointSetInspector3D,
139142
},
140143
"PolygonalSurface2D": {
141-
"input": [og.PolygonalSurfaceInputFactory2D],
142-
"output": [og.PolygonalSurfaceOutputFactory2D],
144+
"input_factory": [og.PolygonalSurfaceInputFactory2D],
145+
"output_factory": [og.PolygonalSurfaceOutputFactory2D],
143146
"load": og.load_polygonal_surface2D,
144147
"save": og.save_polygonal_surface2D,
145148
"builder": og.PolygonalSurfaceBuilder2D.create,
@@ -155,8 +158,8 @@ def objects_list():
155158
"inspector": og_inspector.SurfaceMeshInspector2D,
156159
},
157160
"PolygonalSurface3D": {
158-
"input": [og.PolygonalSurfaceInputFactory3D],
159-
"output": [og.PolygonalSurfaceOutputFactory3D],
161+
"input_factory": [og.PolygonalSurfaceInputFactory3D],
162+
"output_factory": [og.PolygonalSurfaceOutputFactory3D],
160163
"load": og.load_polygonal_surface3D,
161164
"save": og.save_polygonal_surface3D,
162165
"builder": og.PolygonalSurfaceBuilder3D.create,
@@ -172,8 +175,8 @@ def objects_list():
172175
"inspector": og_inspector.SurfaceMeshInspector3D,
173176
},
174177
"PolyhedralSolid3D": {
175-
"input": [og.PolyhedralSolidInputFactory3D],
176-
"output": [og.PolyhedralSolidOutputFactory3D],
178+
"input_factory": [og.PolyhedralSolidInputFactory3D],
179+
"output_factory": [og.PolyhedralSolidOutputFactory3D],
177180
"load": og.load_polyhedral_solid3D,
178181
"save": og.save_polyhedral_solid3D,
179182
"builder": og.PolyhedralSolidBuilder3D.create,
@@ -189,8 +192,8 @@ def objects_list():
189192
"inspector": og_inspector.SolidMeshInspector3D,
190193
},
191194
"RasterImage2D": {
192-
"input": [og.RasterImageInputFactory2D],
193-
"output": [og.RasterImageOutputFactory2D],
195+
"input_factory": [og.RasterImageInputFactory2D],
196+
"output_factory": [og.RasterImageOutputFactory2D],
194197
"load": og.load_raster_image2D,
195198
"save": og.save_raster_image2D,
196199
"is_model": False,
@@ -199,8 +202,8 @@ def objects_list():
199202
"save_viewable": g_v.save_viewable_raster_image2D,
200203
},
201204
"RasterImage3D": {
202-
"input": [og.RasterImageInputFactory3D],
203-
"output": [og.RasterImageOutputFactory3D],
205+
"input_factory": [og.RasterImageInputFactory3D],
206+
"output_factory": [og.RasterImageOutputFactory3D],
204207
"load": og.load_raster_image3D,
205208
"save": og.save_raster_image3D,
206209
"is_model": False,
@@ -209,8 +212,8 @@ def objects_list():
209212
"save_viewable": g_v.save_viewable_raster_image3D,
210213
},
211214
"RegularGrid2D": {
212-
"input": [og.RegularGridInputFactory2D],
213-
"output": [og.RegularGridOutputFactory2D],
215+
"input_factory": [og.RegularGridInputFactory2D],
216+
"output_factory": [og.RegularGridOutputFactory2D],
214217
"load": og.load_regular_grid2D,
215218
"save": og.save_regular_grid2D,
216219
"builder": og.RegularGridBuilder2D.create,
@@ -225,8 +228,8 @@ def objects_list():
225228
"save_viewable": g_v.save_viewable_regular_grid2D,
226229
},
227230
"RegularGrid3D": {
228-
"input": [og.RegularGridInputFactory3D],
229-
"output": [og.RegularGridOutputFactory3D],
231+
"input_factory": [og.RegularGridInputFactory3D],
232+
"output_factory": [og.RegularGridOutputFactory3D],
230233
"load": og.load_regular_grid3D,
231234
"save": og.save_regular_grid3D,
232235
"builder": og.RegularGridBuilder3D.create,
@@ -241,8 +244,8 @@ def objects_list():
241244
"save_viewable": g_v.save_viewable_regular_grid3D,
242245
},
243246
"Section": {
244-
"input": [og.SectionInputFactory],
245-
"output": [og.SectionOutputFactory],
247+
"input_factory": [og.SectionInputFactory],
248+
"output_factory": [og.SectionOutputFactory],
246249
"load": og.load_section,
247250
"save": og.save_section,
248251
"builder": og.SectionBuilder,
@@ -258,8 +261,11 @@ def objects_list():
258261
"inspector": og_inspector.SectionInspector,
259262
},
260263
"StructuralModel": {
261-
"input": [og_gs.StructuralModelInputFactory],
262-
"output": [og.BRepOutputFactory, og_gs.StructuralModelOutputFactory],
264+
"input_factory": [og_gs.StructuralModelInputFactory],
265+
"output_factory": [
266+
og.BRepOutputFactory,
267+
og_gs.StructuralModelOutputFactory,
268+
],
263269
"load": og_gs.load_structural_model,
264270
"save": og_gs.save_structural_model,
265271
"builder": og_gs.StructuralModelBuilder,
@@ -275,8 +281,8 @@ def objects_list():
275281
"inspector": og_inspector.BRepInspector,
276282
},
277283
"TetrahedralSolid3D": {
278-
"input": [og.TetrahedralSolidInputFactory3D],
279-
"output": [og.TetrahedralSolidOutputFactory3D],
284+
"input_factory": [og.TetrahedralSolidInputFactory3D],
285+
"output_factory": [og.TetrahedralSolidOutputFactory3D],
280286
"load": og.load_tetrahedral_solid3D,
281287
"save": og.save_tetrahedral_solid3D,
282288
"builder": og.TetrahedralSolidBuilder3D.create,
@@ -292,8 +298,8 @@ def objects_list():
292298
"inspector": og_inspector.SolidMeshInspector3D,
293299
},
294300
"TriangulatedSurface2D": {
295-
"input": [og.TriangulatedSurfaceInputFactory2D],
296-
"output": [og.TriangulatedSurfaceOutputFactory2D],
301+
"input_factory": [og.TriangulatedSurfaceInputFactory2D],
302+
"output_factory": [og.TriangulatedSurfaceOutputFactory2D],
297303
"load": og.load_triangulated_surface2D,
298304
"save": og.save_triangulated_surface2D,
299305
"builder": og.TriangulatedSurfaceBuilder2D.create,
@@ -309,8 +315,8 @@ def objects_list():
309315
"inspector": og_inspector.TriangulatedSurfaceInspector2D,
310316
},
311317
"TriangulatedSurface3D": {
312-
"input": [og.TriangulatedSurfaceInputFactory3D],
313-
"output": [og.TriangulatedSurfaceOutputFactory3D],
318+
"input_factory": [og.TriangulatedSurfaceInputFactory3D],
319+
"output_factory": [og.TriangulatedSurfaceOutputFactory3D],
314320
"load": og.load_triangulated_surface3D,
315321
"save": og.save_triangulated_surface3D,
316322
"builder": og.TriangulatedSurfaceBuilder3D.create,
@@ -326,8 +332,8 @@ def objects_list():
326332
"inspector": og_inspector.TriangulatedSurfaceInspector3D,
327333
},
328334
"VertexSet": {
329-
"input": [og.VertexSetInputFactory],
330-
"output": [og.VertexSetOutputFactory],
335+
"input_factory": [og.VertexSetInputFactory],
336+
"output_factory": [og.VertexSetOutputFactory],
331337
"load": og.load_vertex_set,
332338
"save": og.save_vertex_set,
333339
"builder": og.VertexSetBuilder.create,

tests/data/test.bmp

768 KB
Binary file not shown.

tests/data/test.dat

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
1062410.750 6884723.500 150.000
2+
1062410.750 6884723.500 -750.000
3+
1062410.748 6884723.494 -752.999
4+
1062410.686 6884723.302 -767.958
5+
1062410.663 6884723.230 -770.943
6+
1062410.636 6884723.148 -773.926
7+
1062408.692 6884717.137 -850.659
8+
1062402.520 6884698.049 -948.634
9+
1062393.306 6884669.553 -1035.627
10+
1062141.875 6883892.000 -2990.700
11+
1062106.278 6883781.916 -3267.493

0 commit comments

Comments
 (0)