code: def _test_window_data(self):
      session = pd.Timestamp("2006-03-01")
      minute = self.trading_calendar.minutes_for_session(session)[1]
      data = self.create_bardata(simulation_dt_func=lambda: minute)
      asset = self.asset_finder.retrieve_asset(1)
  
      mean_volume, volatility = VolatilityVolumeShare(
          0.0
      )._get_window_data(
          data,
          asset,
          window_length=20,
      )
  
      #                            close  volume
      # 2006-01-31 00:00:00+00:00   29.0   119.0
      # 2006-02-01 00:00:00+00:00   30.0   120.0
      # 2006-02-02 00:00:00+00:00   31.0   121.0
      # 2006-02-03 00:00:00+00:00   32.0   122.0
      # 2006-02-06 00:00:00+00:00   33.0   123.0
      # 2006-02-07 00:00:00+00:00   34.0   124.0
      # 2006-02-08 00:00:00+00:00   35.0   125.0
      # 2006-02-09 00:00:00+00:00   36.0   126.0
      # 2006-02-10 00:00:00+00:00   37.0   127.0
      # 2006-02-13 00:00:00+00:00   38.0   128.0
      # 2006-02-14 00:00:00+00:00   39.0   129.0
      # 2006-02-15 00:00:00+00:00   40.0   130.0
      # 2006-02-16 00:00:00+00:00   41.0   131.0
      # 2006-02-17 00:00:00+00:00   42.0   132.0
      # 2006-02-21 00:00:00+00:00   43.0   133.0
      # 2006-02-22 00:00:00+00:00   44.0   134.0
      # 2006-02-23 00:00:00+00:00   45.0   135.0
      # 2006-02-24 00:00:00+00:00   46.0   136.0
      # 2006-02-27 00:00:00+00:00   47.0   137.0
      # 2006-02-28 00:00:00+00:00   48.0   138.0
  
      # Mean volume is (119 + 138) / 2 = 128.5
      self.assertEqual(mean_volume, 128.5)
  
      # Volatility is closes.pct_change().std() * sqrt(252)
      reference_vol = pd.Series(
          range(29, 49)
      ).pct_change().std() * sqrt(252)
      self.assertEqual(volatility, reference_vol)
  
imports: from collections import namedtuple
  import datetime
  from math import sqrt
  from nose_parameterized import parameterized
  from pandas.tslib import normalize_date
  import numpy
  import pandas
  import pytz
  from catalyst.assets import Equity, Future
  from catalyst.data.data_portal import DataPortal
  from catalyst.finance.asset_restrictions import NoRestrictions
  from catalyst.finance.order import Order
  from catalyst.finance.slippage import EquitySlippageModel, fill_price_worse_than_limit_price, FutureSlippageModel, SlippageModel, VolatilityVolumeShare, VolumeShareSlippage
  from catalyst.protocol import DATASOURCE_TYPE, BarData
  from catalyst.testing import create_minute_bar_data, tmp_bcolz_equity_minute_bar_reader
  from catalyst.testing.fixtures import WithCreateBarData, WithDataPortal, WithSimParams, WithTradingEnvironment, CatalystTestCase
  from catalyst.utils.classproperty import classproperty
label_desc: Use image node_id 2 for calling the MarketImpactTestCase obj's underlying member method code with example usage: obj._test_window_data() without return types