code: def test_asset_not_trading(self):
      benchmark = self.env.asset_finder.retrieve_asset(3)
      benchmark_start = benchmark.start_date
      benchmark_end = benchmark.end_date
  
      with self.assertRaises(BenchmarkAssetNotAvailableTooEarly) as exc:
          BenchmarkSource(
              benchmark,
              self.trading_calendar,
              self.sim_params.sessions[1:],
              self.data_portal,
          )
  
      self.assertEqual(
          "Equity(3 [C]) does not exist on %s. It started trading on %s."
          % (self.sim_params.sessions[1], benchmark_start),
          exc.exception.message,
      )
  
      with self.assertRaises(BenchmarkAssetNotAvailableTooLate) as exc2:
          BenchmarkSource(
              benchmark,
              self.trading_calendar,
              self.sim_params.sessions[120:],
              self.data_portal,
          )
  
      self.assertEqual(
          "Equity(3 [C]) does not exist on %s. It stopped trading on %s."
          % (self.sim_params.sessions[-1], benchmark_end),
          exc2.exception.message,
      )
  
file_path: catalyst/tests/test_benchmark.py
imports: import numpy
  import pandas
  from pandas.util.testing import assert_series_equal
  from catalyst.data.data_portal import DataPortal
  from catalyst.errors import BenchmarkAssetNotAvailableTooEarly, BenchmarkAssetNotAvailableTooLate, InvalidBenchmarkAsset
  from catalyst.sources.benchmark_source import BenchmarkSource
  from catalyst.testing import MockDailyBarReader, create_minute_bar_data, tmp_bcolz_equity_minute_bar_reader
  from catalyst.testing.fixtures import WithDataPortal, WithSimParams, WithTradingCalendars, CatalystTestCase
label_desc: Use image node_id 5 for calling the TestBenchmark obj's underlying member method code with example usage: obj.test_asset_not_trading() without return types