code: def test_knp_parent_getter(
      nlp: Language, text: str, parents: List[List[str]]
  ):
      doc: Doc = nlp(text)
      for _ in range(2):  # loop 2 times to validate cache
          for sent, pl in zip(doc.sents, parents):
              spans = sent._.get(KNP_USER_KEYS.tag.spans)
              ps = [
                  span._.get(KNP_USER_KEYS.tag.parent) for span in spans
              ]
              assert [s.text if s else "" for s in ps] == [
                  p for p in pl
              ]
  
file_path: camphr/packages/camphr_knp/tests/test_knp.py
imports: from camphr_knp import create_knp_nlp
  import itertools
  from typing import List, Tuple
  import pytest
  from spacy.language import Language
  from spacy.tokens import Doc
  from camphr_knp import BUNSETSU, KNP_USER_KEYS, TAG
  from .utils import check_knp
label_desc: Use image node_id 4 for calling a global function with example usage: test_knp_parent_getter(nlp, text, parents) without return types