class_docstr: Test the config system.
class_docstr_tok: ["Test","the","config","system","."]
docstr: Test setting a complex (functional) config option.
code: def test_complex_config_option(self):
      """Test setting a complex (functional) config option."""
  
      # Create the config option.
      @ConfigOption("_test.complexParam")
      def config_option():
          """Complex config option."""
          return 12345
  
      # Test that it works.
      self.assertEqual(config_option.key, "_test.complexParam")
      self.assertEqual(config_option.section, "_test")
      self.assertEqual(config_option.name, "complexParam")
      self.assertEqual(
          config_option.description, "Complex config option."
      )
      self.assertEqual(
          config_option.where_defined, ConfigOption.DEFAULT_DEFINITION
      )
      self.assertEqual(config_option.value, 12345)
      self.assertEqual(
          config_option.env_var, "STREAMLIT__TEST_COMPLEX_PARAM"
      )
  
imports: import copy
  import os
  import textwrap
  import unittest
  from unittest.mock import MagicMock, mock_open, patch
  import pytest
  from parameterized import parameterized
  from streamlit import config, env_util
  from streamlit.config_option import ConfigOption
  from streamlit.errors import StreamlitAPIException
label_desc: Use image node_id 6 for calling the ConfigTest obj's underlying member method code with example usage: obj.test_complex_config_option() and returns: int