code: def test_history_close_session(self):
      cf = self.data_portal.asset_finder.create_continuous_future(
          "FO", 0, "calendar", None
      )
      window = self.data_portal.get_history_window(
          [cf.sid],
          Timestamp("2016-03-06", tz="UTC"),
          30,
          "1d",
          "close",
          "daily",
      )
  
      assert_almost_equal(
          window.loc["2016-01-26", cf],
          105011.440,
          err_msg="At beginning of window, should be FOG16's first value.",
      )
  
      assert_almost_equal(
          window.loc["2016-02-26", cf],
          125241.440,
          err_msg="On session with roll, should be FOH16's 24th value.",
      )
  
      assert_almost_equal(
          window.loc["2016-02-29", cf],
          125251.440,
          err_msg="After roll, Should be FOH16's 25th value.",
      )
  
      # Advance the window a month.
      window = self.data_portal.get_history_window(
          [cf.sid],
          Timestamp("2016-04-06", tz="UTC"),
          30,
          "1d",
          "close",
          "daily",
      )
  
      assert_almost_equal(
          window.loc["2016-02-24", cf],
          115221.440,
          err_msg="At beginning of window, should be FOG16's 22nd value.",
      )
  
      assert_almost_equal(
          window.loc["2016-02-26", cf],
          125241.440,
          err_msg="On session with roll, should be FOH16's 24th value.",
      )
  
      assert_almost_equal(
          window.loc["2016-02-29", cf],
          125251.440,
          err_msg="On session after roll, should be FOH16's 25th value.",
      )
  
      assert_almost_equal(
          window.loc["2016-03-24", cf],
          135431.440,
          err_msg="On session with roll, should be FOJ16's 43rd value.",
      )
  
      assert_almost_equal(
          window.loc["2016-03-28", cf],
          135441.440,
          err_msg="On session after roll, Should be FOJ16's 44th value.",
      )
  
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 17 for calling the ContinuousFuturesTestCase obj's underlying member method code with example usage: obj.test_history_close_session() without return types