code: def test_generic_pipeline_with_explicit_domain(self, domain):
      calendar = domain.calendar
      pipe = Pipeline(
          {
              "open": EquityPricing.open.latest,
              "high": EquityPricing.high.latest,
              "low": EquityPricing.low.latest,
              "close": EquityPricing.close.latest,
              "volume": EquityPricing.volume.latest,
          },
          domain=domain,
      )
  
      sessions = self.daily_bar_sessions[calendar.name]
  
      # Run the pipeline for a 7 day chunk in the middle of our data.
      #
      # Using this region ensures that there are assets that never appear in
      # the pipeline both because they end too soon, and because they start
      # too late.
      start, end = sessions[[-17, -10]]
      result = self.run_pipeline(pipe, start, end)
  
      all_assets = self.assets_by_calendar[calendar]
  
      # We expect the index of the result to contain all assets that were
      # alive during the interval between our start and end (not including
      # the asset's IPO date).
      expected_assets = [
          a
          for a in all_assets
          if alive_in_range(
              a, start, end, include_asset_start_date=False
          )
      ]
      # off by 1 from above to be inclusive of the end date
      expected_dates = sessions[-17:-9]
  
      for col in pipe.columns:
          # result_date should look like this:
          #
          #     E     F     G     H     I     J     K     L     M     N     O     P # noqa
          # 24.17 25.17 26.17 27.17 28.17   NaN   NaN   NaN   NaN   NaN   NaN   NaN # noqa
          #   NaN 25.18 26.18 27.18 28.18 29.18   NaN   NaN   NaN   NaN   NaN   NaN # noqa
          #   NaN   NaN 26.23 27.23 28.23 29.23 30.23   NaN   NaN   NaN   NaN   NaN # noqa
          #   NaN   NaN   NaN 27.28 28.28 29.28 30.28 31.28   NaN   NaN   NaN   NaN # noqa
          #   NaN   NaN   NaN   NaN 28.30 29.30 30.30 31.30 32.30   NaN   NaN   NaN # noqa
          #   NaN   NaN   NaN   NaN   NaN 29.29 30.29 31.29 32.29 33.29   NaN   NaN # noqa
          #   NaN   NaN   NaN   NaN   NaN   NaN 30.27 31.27 32.27 33.27 34.27   NaN # noqa
          #   NaN   NaN   NaN   NaN   NaN   NaN   NaN 31.29 32.29 33.29 34.29 35.29 # noqa
          result_data = result[col].unstack()
  
          # Check indices.
          assert_equal(pd.Index(expected_assets), result_data.columns)
          assert_equal(expected_dates, result_data.index)
  
          # Check values.
          for asset in expected_assets:
              for date in expected_dates:
                  value = result_data.at[date, asset]
                  self.check_expected_latest_value(
                      calendar,
                      col,
                      date,
                      asset,
                      value,
                  )
  
imports: from itertools import cycle, islice
  from nose_parameterized import parameterized
  import numpy
  import pandas
  from trading_calendars import get_calendar
  from zipline.assets.synthetic import make_rotating_equity_info
  from zipline.data.in_memory_daily_bars import InMemoryDailyBarReader
  from zipline.pipeline.domain import CA_EQUITIES, GB_EQUITIES, US_EQUITIES
  from zipline.pipeline import Pipeline
  from zipline.pipeline.data import EquityPricing, USEquityPricing
  from zipline.pipeline.engine import SimplePipelineEngine
  from zipline.pipeline.loaders.equity_pricing_loader import EquityPricingLoader
  from zipline.pipeline.loaders.synthetic import NullAdjustmentReader
  from zipline.testing.predicates import assert_equal
  from zipline.testing.core import parameter_space, random_tick_prices
  import zipline.testing.fixtures
label_desc: Use image node_id 3 for calling the InternationalEquityTestCase obj's underlying member method code with example usage: obj.test_generic_pipeline_with_explicit_domain(domain) without return types