code: def test_next_event_indexer(self):
      events = self.events
      event_sids = events["sid"].values
      event_dates = events["event_date"].values
      event_timestamps = events["timestamp"].values
  
      all_dates = pd.date_range("2014", "2014-01-31")
      all_sids = np.unique(event_sids)
  
      indexer = next_event_indexer(
          all_dates,
          all_sids,
          event_dates,
          event_timestamps,
          event_sids,
      )
  
      # Compute expected results without knowledge of null events.
      for i, sid in enumerate(all_sids):
          self.check_next_event_indexer(
              events,
              all_dates,
              sid,
              indexer[:, i],
          )
  
imports: from datetime import time
  import itertools
  from itertools import product
  import blaze
  from nose_parameterized import parameterized
  import numpy
  import pandas
  from catalyst.pipeline import Pipeline, SimplePipelineEngine
  from catalyst.pipeline.common import EVENT_DATE_FIELD_NAME, TS_FIELD_NAME, SID_FIELD_NAME
  from catalyst.pipeline.data import DataSet, Column
  from catalyst.pipeline.loaders.events import EventsLoader
  from catalyst.pipeline.loaders.blaze.events import BlazeEventsLoader
  from catalyst.pipeline.loaders.utils import next_event_indexer, normalize_timestamp_to_query_time, previous_event_indexer
  from catalyst.testing import check_arrays, CatalystTestCase
  from catalyst.testing.fixtures import WithAssetFinder, WithTradingSessions
  from catalyst.testing.predicates import assert_equal
  from catalyst.utils.numpy_utils import categorical_dtype, datetime64ns_dtype, float64_dtype, int64_dtype
label_desc: Use image node_id 4 for calling the EventIndexerTestCase obj's underlying member method code with example usage: obj.test_next_event_indexer() without return types