class_docstr: Make sure the package is alive.
code: def _check_types(self, thing_list, listname):
      for thing in thing_list:
          name = thing["id"]
          for key, value in thing.items():
              if key == "tags":
                  self.assertIsInstance(
                      value,
                      list,
                      "{} {} tags is not a list".format(listname, name),
                  )
                  self.assertIsNot(
                      value,
                      [],
                      "{} {} must have some tags".format(
                          listname, name
                      ),
                  )
              elif key == "links":
                  self.assertIsInstance(value, dict)
                  for k_, v_ in value.items():
                      self.assertIsInstance(k_, str)
                      self.assertIsInstance(v_, str)
              else:
                  self.assertIsInstance(
                      value,
                      str,
                      "{} {}:{} must be string".format(
                          listname, name, key
                      ),
                  )
  
file_path: ParlAI/tests/test_zootasks.py
imports: import os
  import unittest
  import pytest
  import parlai.utils.testing
  from parlai.zoo.model_list import model_list
  from parlai.tasks.task_list import task_list
label_desc: Use image node_id 8 for calling the TestZooAndTasks obj's underlying member method code with example usage: obj._check_types(thing_list, listname) without return types