code: def test_get_value_close_daily(self):
      cf_primary = self.asset_finder.create_continuous_future(
          "FO", 0, "calendar", None
      )
  
      value = self.data_portal.get_spot_value(
          cf_primary,
          "close",
          pd.Timestamp("2016-01-26", tz="UTC"),
          "daily",
      )
  
      self.assertEqual(value, 105011.44)
  
      value = self.data_portal.get_spot_value(
          cf_primary,
          "close",
          pd.Timestamp("2016-01-27", tz="UTC"),
          "daily",
      )
  
      self.assertEqual(
          value,
          115021.44,
          "Auto close at beginning of session so FOG16 is now "
          "the current contract.",
      )
  
      # Check a value which occurs after the end date of the last known
      # contract, to prevent a regression where the end date of the last
      # contract was used instead of the max date of all contracts.
      value = self.data_portal.get_spot_value(
          cf_primary,
          "close",
          pd.Timestamp("2016-03-26", tz="UTC"),
          "daily",
      )
  
      self.assertEqual(
          value,
          135441.44,
          "Value should be for FOJ16, even though last "
          "contract ends before query date.",
      )
  
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 8 for calling the ContinuousFuturesTestCase obj's underlying member method code with example usage: obj.test_get_value_close_daily() without return types