code: def test_usecols(self, testname, usecols):
      self.responses.add(
          self.responses.GET,
          "https://fake.urls.com/cpiaucsl_data.csv",
          body=CPIAUCSL_DATA,
          content_type="text/csv",
      )
  
      code = """
  from zipline.api import fetch_csv, sid, record
  
  def clean(df):
      return df.rename(columns={{'Value':'cpi'}})
  
  def initialize(context):
      fetch_csv(
          'https://fake.urls.com/cpiaucsl_data.csv',
          symbol='urban',
          pre_func=clean,
          date_column='Date',
          date_format='%Y-%m-%d',{usecols}
          )
      context.stocks = [sid(3766), sid(25317)]
  
  def handle_data(context, data):
      data.current("urban", "cpi")
          """
      results = self.run_algo(code.format(usecols=usecols))
      # 251 trading days in 2006
      self.assertEqual(len(results), 251)
  
imports: from nose_parameterized import parameterized
  import pandas
  import numpy
  from mock import patch
  from zipline.errors import UnsupportedOrderParameters
  from zipline.sources.requests_csv import mask_requests_args
  from zipline.utils import factory
  from zipline.testing import FetcherDataPortal
  from zipline.testing.fixtures import WithResponses, WithMakeAlgo, ZiplineTestCase
  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 9 for calling the FetcherTestCase obj's underlying member method code with example usage: obj.test_usecols(testname, usecols) without return types