MCPcopy Create free account
hub / github.com/docling-project/docling-parse / verify_shapes

Function verify_shapes

tests/test_parse.py:255–337  ·  view source on GitHub ↗
(
    true_shapes: List[PdfShape], pred_shapes: List[PdfShape], eps: float
)

Source from the content-addressed store, hash-verified

253
254
255def verify_shapes(
256 true_shapes: List[PdfShape], pred_shapes: List[PdfShape], eps: float
257) -> bool:
258
259 assert len(true_shapes) == len(pred_shapes), "len(true_shapes)==len(pred_shapes)"
260
261 for i, true_shape in enumerate(true_shapes):
262 pred_shape = pred_shapes[i]
263
264 assert true_shape.index == pred_shape.index, (
265 "true_shape.index == pred_shape.index"
266 )
267
268 assert true_shape.parent_id == pred_shape.parent_id, (
269 "true_shape.parent_id == pred_shape.parent_id"
270 )
271
272 true_points = true_shape.points
273 pred_points = pred_shape.points
274
275 assert len(true_points) == len(pred_points), (
276 "len(true_points) == len(pred_points)"
277 )
278
279 for point_idx, true_point in enumerate(true_points):
280 assert abs(true_point[0] - pred_points[point_idx][0]) < eps, (
281 "abs(true_point[0]-pred_points[l][0])<eps"
282 )
283 assert abs(true_point[1] - pred_points[point_idx][1]) < eps, (
284 "abs(true_point[1]-pred_points[l][1])<eps"
285 )
286
287 assert true_shape.has_graphics_state == pred_shape.has_graphics_state, (
288 "true_shape.has_graphics_state == pred_shape.has_graphics_state"
289 )
290
291 assert abs(true_shape.line_width - pred_shape.line_width) < eps, (
292 "abs(true_shape.line_width - pred_shape.line_width) < eps"
293 )
294 assert abs(true_shape.miter_limit - pred_shape.miter_limit) < eps, (
295 "abs(true_shape.miter_limit - pred_shape.miter_limit) < eps"
296 )
297 assert true_shape.line_cap == pred_shape.line_cap, (
298 "true_shape.line_cap == pred_shape.line_cap"
299 )
300 assert true_shape.line_join == pred_shape.line_join, (
301 "true_shape.line_join == pred_shape.line_join"
302 )
303 assert abs(true_shape.dash_phase - pred_shape.dash_phase) < eps, (
304 "abs(true_shape.dash_phase - pred_shape.dash_phase) < eps"
305 )
306 assert len(true_shape.dash_array) == len(pred_shape.dash_array), (
307 "len(true_shape.dash_array) == len(pred_shape.dash_array)"
308 )
309 for j, true_dash in enumerate(true_shape.dash_array):
310 assert abs(true_dash - pred_shape.dash_array[j]) < eps, (
311 "abs(true_dash - pred_shape.dash_array[j]) < eps"
312 )

Callers 1

verify_SegmentedPdfPageFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected