docstr: Hash funcs should only be used on arguments to a function,
  and not when computing the key for a function's unique MemCache.
code: def test_function_name_does_not_use_hashfuncs(self):
      """Hash funcs should only be used on arguments to a function,
      and not when computing the key for a function's unique MemCache.
      """
  
      str_hash_func = Mock(return_value=None)
  
      @st.cache(hash_funcs={str: str_hash_func})
      def foo(string_arg):
          return []
  
      # If our str hash_func is called multiple times, it's probably because
      # it's being used to compute the function's function_key (as opposed to
      # the value_key). It should only be used to compute the value_key!
      foo("ahoy")
      str_hash_func.assert_called_once_with("ahoy")
  
imports: import threading
  import unittest
  from typing import Any, List
  from unittest.mock import Mock, patch
  from parameterized import parameterized
  import streamlit
  from streamlit.runtime.caching import cache_resource_api, get_resource_cache_stats_provider
  from streamlit.runtime.caching.cache_type import CacheType
  from streamlit.runtime.caching.cached_message_replay import MultiCacheResults
  from streamlit.runtime.caching.hashing import UserHashError
  from streamlit.runtime.scriptrunner import add_script_run_ctx
  from streamlit.runtime.stats import CacheStat
  from streamlit.vendor.pympler.asizeof import asizeof
  from tests.streamlit.runtime.caching.common_cache_test import as_cached_result
  from tests.testutil import create_mock_script_run_ctx
label_desc: Use image node_id 7 for calling the CacheResourceTest obj's underlying member method code with example usage: obj.test_function_name_does_not_use_hashfuncs() and returns: list