code: def test_list_of_registrables(self):
      experiment = {
          "first_object": {"_name": "DemoWithVal", "val": 2},
          "list_of_objects": [
              {"_name": "DemoWithVal", "val": 1},
              {"_name": "DemoWithStr", "strval": "foo"},
              4,
              "$first_object",
              "feedly",
              "$mock_function",
              "$mock_function2",
          ],
      }
  
      e = ExperimentConfig(experiment)
      self.assertEqual(len(e["list_of_objects"]), 7)
      self.assertEqual(e["list_of_objects"][0].val, 1)
      self.assertEqual(e["list_of_objects"][1].strval, "foo")
      self.assertEqual(e["list_of_objects"][2], 4)
      self.assertIsInstance(e["list_of_objects"][3], DemoWithVal)
      self.assertEqual(e["list_of_objects"][3].val, 2)
      self.assertEqual(e["list_of_objects"][4], "feedly")
      self.assertEqual(e["list_of_objects"][5](), 5)
      self.assertEqual(e["list_of_objects"][6](), 2)
  
imports: import unittest
  from pathlib import Path
  from typing import Any, Dict, List
  from transfer_nlp.plugins.config import CallableInstantiationError, ExperimentConfig, LoopInConfigError, UnknownPluginException, UnknownReferenceError, register_plugin
label_desc: Use image node_id 2 for calling the RegistryTest obj's underlying member method code with example usage: obj.test_list_of_registrables() without return types