code: def check_empty_deps_conversion(input_str, expected_words):
      doc = CoNLL.conll2doc(input_str=input_str, ignore_gapping=False)
      assert len(doc.sentences) == 1
      assert len(doc.sentences[0].tokens) == expected_words
      assert len(doc.sentences[0].words) == expected_words
      assert len(doc.sentences[0].empty_words) == 1
  
      sentence = doc.sentences[0]
      conll = "{:C}".format(doc)
      assert conll == input_str
  
      sentence_dict = doc.sentences[0].to_dict()
      assert len(sentence_dict) == expected_words + 1
      # currently this is true for both of the examples we run
      assert sentence_dict[5]["id"] == (5, 1)
  
      # redo the above checks to make sure
      # there are no weird bugs in the accessors
      assert len(doc.sentences) == 1
      assert len(doc.sentences[0].tokens) == expected_words
      assert len(doc.sentences[0].words) == expected_words
      assert len(doc.sentences[0].empty_words) == 1
  
imports: import io
  import pytest
  import tempfile
  from zipfile import ZipFile
  import stanza
  from stanza.utils.conll import CoNLL
  from stanza.models.common.doc import Document
  from stanza.tests import *
label_desc: Use image node_id 17 for calling a global function with example usage: check_empty_deps_conversion(input_str, expected_words) without return types