code: def make_equity_info(cls):
      jan_5_2015 = pd.Timestamp("2015-01-05", tz="UTC")
      day_after_12312015 = pd.Timestamp("2016-01-04", tz="UTC")
  
      return pd.DataFrame.from_dict(
          {
              1: {
                  "start_date": pd.Timestamp("2014-01-03", tz="UTC"),
                  "end_date": cls.TRADING_END_DT,
                  "symbol": "ASSET1",
                  "exchange": "TEST",
              },
              2: {
                  "start_date": jan_5_2015,
                  "end_date": day_after_12312015,
                  "symbol": "ASSET2",
                  "exchange": "TEST",
              },
              3: {
                  "start_date": jan_5_2015,
                  "end_date": day_after_12312015,
                  "symbol": "ASSET3",
                  "exchange": "TEST",
              },
              cls.SPLIT_ASSET_SID: {
                  "start_date": jan_5_2015,
                  "end_date": day_after_12312015,
                  "symbol": "SPLIT_ASSET",
                  "exchange": "TEST",
              },
              cls.DIVIDEND_ASSET_SID: {
                  "start_date": jan_5_2015,
                  "end_date": day_after_12312015,
                  "symbol": "DIVIDEND_ASSET",
                  "exchange": "TEST",
              },
              cls.MERGER_ASSET_SID: {
                  "start_date": jan_5_2015,
                  "end_date": day_after_12312015,
                  "symbol": "MERGER_ASSET",
                  "exchange": "TEST",
              },
              cls.HALF_DAY_TEST_ASSET_SID: {
                  "start_date": pd.Timestamp("2014-07-02", tz="UTC"),
                  "end_date": day_after_12312015,
                  "symbol": "HALF_DAY_TEST_ASSET",
                  "exchange": "TEST",
              },
              cls.SHORT_ASSET_SID: {
                  "start_date": pd.Timestamp("2015-01-05", tz="UTC"),
                  "end_date": pd.Timestamp("2015-01-06", tz="UTC"),
                  "symbol": "SHORT_ASSET",
                  "exchange": "TEST",
              },
          },
          orient="index",
      )
  
imports: from textwrap import dedent
  from nose_parameterized import parameterized
  import numpy
  from numpy import nan
  import pandas
  from six import iteritems
  from catalyst import TradingAlgorithm
  from catalyst._protocol import handle_non_market_minutes, BarData
  from catalyst.assets import Asset, Equity
  from catalyst.errors import HistoryInInitialize, HistoryWindowStartsBeforeData
  from catalyst.finance.trading import SimulationParameters
  from catalyst.finance.asset_restrictions import NoRestrictions
  from catalyst.testing import create_minute_df_for_asset, str_to_seconds, MockDailyBarReader
  from catalyst.testing.fixtures import WithCreateBarData, WithDataPortal, CatalystTestCase, alias
label_desc: Use image node_id 2 for calling the WithHistory obj's underlying member method code with example usage: obj.make_equity_info(cls) and returns: pd