code: def test_small_cache(self):
      function_mock = Mock(
          side_effect=lambda key: {"key1": 1, "key2": 2}[key]
      )
      cache = LRUCache(function_mock, max_size=1)
  
      cache("key1")
      cache("key1")  # cached
      cache("key1")  # cached
      cache("key2")
      cache("key2")  # cached
      cache("key1")
  
      expected_function_calls = [
          call("key1"),
          call("key2"),
          call("key1"),
      ]
      function_mock.assert_has_calls(
          expected_function_calls, any_order=False
      )
  
file_path: pgmpy/pgmpy/tests/test_estimators/test_ScoreCache.py
imports: import unittest
  from mock import Mock, MagicMock, call
  from pgmpy.estimators.ScoreCache import LRUCache, ScoreCache
  from pgmpy.estimators import BicScore
  import pandas
label_desc: Use image node_id 2 for calling the TestScoreCache obj's underlying member method code with example usage: obj.test_small_cache() without return types