code: def test_radio_enum_coercion():
      """Test E2E Enum Coercion on a radio."""
  
      def script():
          from enum import Enum
  
          import streamlit as st
  
          class EnumA(Enum):
              A = 1
              B = 2
              C = 3
  
          selected = st.radio("my_enum", EnumA, index=0)
          st.text(id(selected.__class__))
          st.text(id(EnumA))
          st.text(selected in EnumA)
  
      at = AppTest.from_function(script).run()
  
      def test_enum():
          radio = at.radio[0]
          original_class = radio.value.__class__
          radio.set_value(original_class.C).run()
          assert (
              at.text[0].value == at.text[1].value
          ), "Enum Class ID not the same"
          assert (
              at.text[2].value == "True"
          ), "Not all enums found in class"
  
      with patch_config_options({"runner.enumCoercion": "nameOnly"}):
          test_enum()
      with patch_config_options({"runner.enumCoercion": "off"}):
          with pytest.raises(AssertionError):
              test_enum()
  
imports: from unittest.mock import MagicMock, patch
  import numpy
  import pandas
  import pytest
  from parameterized import parameterized
  import streamlit
  from streamlit.errors import StreamlitAPIException
  from streamlit.proto.LabelVisibilityMessage_pb2 import LabelVisibilityMessage
  from streamlit.testing.v1.app_test import AppTest
  from streamlit.testing.v1.util import patch_config_options
  from tests.delta_generator_test_case import DeltaGeneratorTestCase
label_desc: Use image node_id 2 for calling a global function with example usage: test_radio_enum_coercion() without return types