code: def test_partial_return():
      """Tests `partial_return`."""
  
      def func(x):
          return {"1": x, "2": -x, "3": x + 100}
  
      v = partial_return(func, "1")(x=10)
      assert v == 10
  
      v1 = partial_return(func, "1")(10)
      assert v1 == 10
  
      # The case for lists.
      def func(x):
          return [x + 1, x + 2, x + 33]
  
      v = partial_return(func, 0)(x=10)
      assert v == 11
  
      v1 = partial_return(func, 1)(200)
      assert v1 == 202
  
      # The case for which index is out of bound.
      v2 = partial_return(func, 25)(200)
      assert v2 is None
  
imports: import itertools
  import numpy
  import pandas
  import pytest
  from testfixtures import LogCapture
  from greykite.common.constants import ANOMALY_COL
  from greykite.common.constants import END_TIME_COL
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import START_TIME_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import TimeFeaturesEnum
  from greykite.common.testing_utils import assert_equal
  from greykite.detection.detector.ad_utils import add_new_params_to_records
  from greykite.detection.detector.ad_utils import get_anomaly_df
  from greykite.detection.detector.ad_utils import get_anomaly_df_from_outliers
  from greykite.detection.detector.ad_utils import get_canonical_anomaly_df
  from greykite.detection.detector.ad_utils import get_timestamp_ceil
  from greykite.detection.detector.ad_utils import get_timestamp_floor
  from greykite.detection.detector.ad_utils import optimize_df_with_constraints
  from greykite.detection.detector.ad_utils import partial_return
  from greykite.detection.detector.ad_utils import validate_volatility_features
  from greykite.detection.detector.ad_utils import vertical_concat_dfs
label_desc: Use image node_id 2 for calling a global function with example usage: test_partial_return() and returns: dict, list