code: def test_categories(self):
      for obj in [
          DocsAndLabelsFromCorpusSample(self.parsed_corpus, 1),
          DocsAndLabelsFromCorpus(self.parsed_corpus),
      ]:
          output = obj.get_labels_and_texts()
          self.assertEqual(
              output["categories"], ["hamlet", "jay-z/r. kelly", "???"]
          )
          metadata = [
              "element 0 0",
              "element 1 0",
              "element 2 0",
              "element 3 0",
              "element 4 1",
              "element 5 1",
              "element 6 1",
              "element 7 1",
              "element 8 1",
              "element 9 2",
          ]
          output = obj.get_labels_and_texts_and_meta(metadata)
          self.assertEqual(
              output["categories"], ["hamlet", "jay-z/r. kelly", "???"]
          )
  
file_path: scattertext/scattertext/test/test_docsAndLabelsFromCorpus.py
imports: import json
  from unittest import TestCase
  import numpy
  import pandas
  from scattertext import CorpusFromParsedDocuments
  from scattertext import whitespace_nlp
  from scattertext.CorpusFromPandas import CorpusFromPandas
  from scattertext.DocsAndLabelsFromCorpus import DocsAndLabelsFromCorpus, DocsAndLabelsFromCorpusSample, CorpusShouldBeParsedCorpusException
  from scattertext.test.test_corpusFromPandas import get_docs_categories
  from scattertext.test.test_termDocMatrixFactory import build_hamlet_jz_corpus_with_meta
label_desc: Use image node_id 2 for calling the TestDocsAndLabelsFromCorpus obj's underlying member method code with example usage: obj.test_categories() without return types