code: def test_env(self):
      experiment = {
          "path": "$HOME/foo/bar",
          "path2": "$HOMEPATH/foo/bar",
          "data": {
              "_name": "DemoWithStr",
              "strval": "$HOME/foo/bar/bis",
          },
          "data2": {
              "_name": "DemoDefaults",
              "strval": "foo",
              "intval1": "$SVAL",
          },
      }
      e = ExperimentConfig(
          experiment, HOME="/tmp", HOMEPATH=Path("/tmp2"), SVAL=7
      )
      self.assertEqual(e["path"], "/tmp/foo/bar")
      self.assertEqual(e["path2"], "/tmp2/foo/bar")
  
      self.assertEqual(e["data"].strval, "/tmp/foo/bar/bis")
  
      self.assertEqual(e["data2"].strval, "foo")
      self.assertEqual(e["data2"].intval1, 7)
      self.assertIsNone(e["data2"].intval2)
  
      experiment = {
          "path": "$HOME/foo/bar",
          "path2": "$HOMEPATH/foo/bar",
          "data": {
              "_name": "DemoWithStr",
              "strval": "$HOME/foo/bar/bis",
          },
          "data2": {
              "_name": "DemoDefaultsList",
              "strval": "foo",
              "intval1": "$SVAL",
              "param_list": [
                  {"_name": "DemoIsAvailable", "is_available": "$HOME"},
                  {"_name": "DemoIsAvailable", "is_available": "$VAL"},
                  "$HOMEPATH",
              ],
          },
      }
      e = ExperimentConfig(
          experiment,
          HOME="/tmp",
          HOMEPATH=Path("/tmp2"),
          SVAL=7,
          VAL=True,
      )
      self.assertEqual(e["data2"].param_list[0].is_available, "/tmp")
      self.assertEqual(e["data2"].param_list[1].is_available, True)
      self.assertEqual(e["data2"].param_list[2], Path("/tmp2"))
  
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 9 for calling the RegistryTest obj's underlying member method code with example usage: obj.test_env() without return types