@@ -693,6 +693,18 @@ def _verify_saved_output(filename: str, paths: List[Path]):
693693 assert pred == gt , f"pred!=gt for { filename } "
694694
695695
696+ def _verify_loaded_output (filename : str , pred = None ):
697+ gt = DoclingDocument .load_from_json (Path (str (filename ) + ".gt" ))
698+
699+ pred = pred or DoclingDocument .load_from_json (Path (filename ))
700+ assert isinstance (pred , DoclingDocument )
701+
702+ assert (
703+ pred .export_to_dict () == gt .export_to_dict ()
704+ ), f"pred.export_to_dict() != gt.export_to_dict() for { filename } "
705+ assert pred == gt , f"pred!=gt for { filename } "
706+
707+
696708def test_save_to_disk ():
697709
698710 doc : DoclingDocument = _construct_doc ()
@@ -761,12 +773,18 @@ def test_save_to_disk():
761773 )
762774 _verify_saved_output (filename = filename , paths = paths )
763775
776+ doc_emb_loaded = DoclingDocument .load_from_json (filename )
777+ _verify_loaded_output (filename = filename , pred = doc_emb_loaded )
778+
764779 filename = Path ("test/data/doc/constructed_doc.referenced.json" )
765780 doc .save_as_json (
766781 filename = filename , artifacts_dir = image_dir , image_mode = ImageRefMode .REFERENCED
767782 )
768783 _verify_saved_output (filename = filename , paths = paths )
769784
785+ doc_ref_loaded = DoclingDocument .load_from_json (filename )
786+ _verify_loaded_output (filename = filename , pred = doc_ref_loaded )
787+
770788 ### YAML
771789
772790 filename = Path ("test/data/doc/constructed_doc.embedded.yaml" )
0 commit comments