code: def _test_reference_empty_position_by_unexpected_type(self):
      with warnings.catch_warnings(record=True) as w:
          warnings.simplefilter("default", ZiplineDeprecationWarning)
  
          algo = self.create_algo(
              reference_missing_position_by_unexpected_type_algo
          )
          algo.run(self.data_portal)
  
          self.assertEqual(1, len(w))
          self.assertEqual(
              str(w[0].message),
              "Position lookup expected a value of type Asset but got str"
              " instead.",
          )
  
imports: import warnings
  from mock import patch
  import numpy
  import pandas
  from pandas.core.common import PerformanceWarning
  from catalyst import TradingAlgorithm
  from catalyst.finance.trading import SimulationParameters
  from catalyst.testing import MockDailyBarReader, create_daily_df_for_asset, create_minute_df_for_asset, str_to_seconds
  from catalyst.testing.fixtures import WithCreateBarData, WithDataPortal, WithSimParams, CatalystTestCase
  from catalyst.catalyst_warnings import ZiplineDeprecationWarning
label_desc: Use image node_id 16 for calling the TestAPIShim obj's underlying member method code with example usage: obj._test_reference_empty_position_by_unexpected_type() without return types