code: def _test_fetcher_universe(self, name, data, column_name):
      # Patching fetch_url here rather than using responses because (a) it's
      # easier given the paramaterization, and (b) there are enough tests
      # using responses that the fetch_url code is getting a good workout so
      # we don't have to use it in every test.
      with patch(
          "catalyst.sources.requests_csv.PandasRequestsCSV.fetch_url",
          new=lambda *a, **k: data,
      ):
          sim_params = factory.create_simulation_parameters(
              start=pd.Timestamp("2006-01-09", tz="UTC"),
              end=pd.Timestamp("2006-01-11", tz="UTC"),
          )
  
          algocode = """
  from pandas import Timestamp
  from pandas.tseries.tools import normalize_date
  from catalyst.api import fetch_csv, record, sid, get_datetime
  
  def initialize(context):
      fetch_csv(
          'https://dl.dropbox.com/u/16705795/dtoc_history.csv',
          date_format='%m/%d/%Y'{token}
      )
      context.expected_sids = {{
          Timestamp('2006-01-09 00:00:00+0000', tz='UTC'):[24, 3766, 5061],
          Timestamp('2006-01-10 00:00:00+0000', tz='UTC'):[24, 3766, 5061],
          Timestamp('2006-01-11 00:00:00+0000', tz='UTC'):[24, 3766, 5061, 14848]
      }}
      context.bar_count = 0
  
  def handle_data(context, data):
      expected = context.expected_sids[normalize_date(get_datetime())]
      actual = data.fetcher_assets
      for stk in expected:
          if stk not in actual:
              raise Exception(
                  "{{stk}} is missing on dt={{dt}}".format(
                      stk=stk, dt=get_datetime()))
  
      record(sid_count=len(actual))
      record(bar_count=context.bar_count)
      context.bar_count += 1
              """
          replacement = ""
          if column_name:
              replacement = ",symbol_column='%s'\n" % column_name
          real_algocode = algocode.format(token=replacement)
  
          results = self.run_algo(real_algocode, sim_params=sim_params)
  
          self.assertEqual(len(results), 3)
          self.assertEqual(3, results["sid_count"].iloc[0])
          self.assertEqual(3, results["sid_count"].iloc[1])
          self.assertEqual(4, results["sid_count"].iloc[2])
  
imports: from nose_parameterized import parameterized
  import pandas
  import numpy
  from mock import patch
  from catalyst import TradingAlgorithm
  from catalyst.errors import UnsupportedOrderParameters
  from catalyst.sources.requests_csv import mask_requests_args
  from catalyst.utils import factory
  from catalyst.testing import FetcherDataPortal
  from catalyst.testing.fixtures import WithResponses, WithSimParams, CatalystTestCase
  from .resources.fetcher_inputs.fetcher_test_data import AAPL_CSV_DATA, AAPL_IBM_CSV_DATA, AAPL_MINUTE_CSV_DATA, CPIAUCSL_DATA, FETCHER_ALTERNATE_COLUMN_HEADER, FETCHER_UNIVERSE_DATA, FETCHER_UNIVERSE_DATA_TICKER_COLUMN, MULTI_SIGNAL_CSV_DATA, NON_ASSET_FETCHER_UNIVERSE_DATA, PALLADIUM_DATA, NFLX_DATA
label_desc: Use image node_id 10 for calling the FetcherTestCase obj's underlying member method code with example usage: obj._test_fetcher_universe(name, data, column_name) without return types