code: def make_root_symbols_info(self):
      return pd.DataFrame(
          {
              "root_symbol": ["FO", "BA", "BZ"],
              "root_symbol_id": [1, 2, 3],
              "exchange": ["CMES", "CMES", "CMES"],
          }
      )
  
imports: from collections import deque
  from functools import partial
  from textwrap import dedent
  from numpy import arange, array, int64, full, repeat, tile
  from numpy.testing import assert_almost_equal
  import pandas
  from pandas import Timestamp, DataFrame
  from zipline.assets.continuous_futures import OrderedContracts, delivery_predicate
  from zipline.assets.roll_finder import ROLL_DAYS_FOR_CURRENT_CONTRACT, VolumeRollFinder
  from zipline.data.minute_bars import FUTURES_MINUTES_PER_DAY
  from zipline.errors import SymbolNotFound
  import zipline.testing.fixtures
label_desc: Use image node_id 1 for calling the OrderedContractsTestCase obj's underlying member method code with example usage: obj.make_root_symbols_info() and returns: pd