code: def test_delivery_predicate(self):
      contract_sids = range(5, 8)
      contracts = deque(self.asset_finder.retrieve_all(contract_sids))
  
      oc = OrderedContracts(
          "BA",
          contracts,
          chain_predicate=partial(delivery_predicate, set(["F", "H"])),
      )
  
      # Test sid 1 as days increment, as the sessions march forward
      # a contract should be added per day, until all defined contracts
      # are returned.
      chain = oc.active_chain(
          5, pd.Timestamp("2015-01-05", tz="UTC").value
      )
      self.assertEquals(
          [5, 7],
          list(chain),
          "Contract BAG16 (sid=6) should be ommitted from chain, since "
          "it does not satisfy the roll predicate.",
      )
  
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 5 for calling the OrderedContractsTestCase obj's underlying member method code with example usage: obj.test_delivery_predicate() without return types