MCPcopy Create free account
hub / github.com/Layout-Parser/layout-parser / test_json

Function test_json

tests/test_io.py:19–49  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

17from layoutparser import load_json, load_dict, load_csv, load_pdf
18
19def test_json():
20
21 i = Interval(1, 2, "y", canvas_height=5)
22 r = Rectangle(1, 2, 3, 4)
23 q = Quadrilateral(np.arange(8).reshape(4, 2), 200, 400)
24 l = Layout([i, r, q], page_data={"width": 200, "height": 200})
25
26 i2 = TextBlock(i, "")
27 r2 = TextBlock(r, id=24)
28 q2 = TextBlock(q, text="test", parent=45)
29 l2 = Layout([i2, r2, q2])
30
31 i3 = TextBlock(i, None)
32 r3 = TextBlock(r, id=None)
33 q3 = TextBlock(q, text=None, parent=None)
34 l3 = Layout([i3, r3, q3], page_data={"width": 200, "height": 200})
35
36 # fmt: off
37 assert i == load_dict(i.to_dict()) == load_json("tests/fixtures/io/interval.json")
38 assert r == load_dict(r.to_dict()) == load_json("tests/fixtures/io/rectangle.json")
39 assert q == load_dict(q.to_dict()) == load_json("tests/fixtures/io/quadrilateral.json")
40 assert l == load_dict(l.to_dict()) == load_json("tests/fixtures/io/layout.json")
41
42 assert i2 == load_dict(i2.to_dict()) == load_json("tests/fixtures/io/interval_textblock.json")
43 assert r2 == load_dict(r2.to_dict()) == load_json("tests/fixtures/io/rectangle_textblock.json")
44 assert q2 == load_dict(q2.to_dict()) == load_json("tests/fixtures/io/quadrilateral_textblock.json")
45 assert l2 == load_dict(l2.to_dict()) == load_json("tests/fixtures/io/layout_textblock.json")
46
47 # Test if LP can ignore the unused None features
48 assert l == load_dict(l3.to_dict())
49 # fmt: on
50
51
52def test_csv():

Callers

nothing calls this directly

Calls 10

to_dictMethod · 0.95
to_dictMethod · 0.95
to_dictMethod · 0.95
IntervalClass · 0.90
RectangleClass · 0.90
QuadrilateralClass · 0.90
LayoutClass · 0.90
TextBlockClass · 0.90
load_dictFunction · 0.90
load_jsonFunction · 0.90

Tested by

no test coverage detected