code: def test_fill_times(fname):
      """Test use of pd.merge_asof in _fill_times.
  
      We are merging on floating
      point values. pd.merge_asof is used so that any differences in floating
      point precision between df['samples']['times'] and the times generated
      with np.arange don't result in the time columns not merging
      correctly - i.e. 1560687.0 and 1560687.000001 should merge.
      """
      raw = read_raw_eyelink(fname, create_annotations=False)
      sfreq = raw.info["sfreq"]
      # just take first 1000 points for testing
      df = raw.to_data_frame()[:1000]
      # even during blinks, pupil val is 0, so there should be no nans
      # in this column
      assert not df["pupil_left"].isna().sum()
      nan_count = df["pupil_left"].isna().sum()  # i.e 0
      df_merged = _adjust_times(df, sfreq)
      # If times dont merge correctly, there will be additional rows in
      # in df_merged with all nan values
      assert df_merged["pupil_left"].isna().sum() == nan_count
  
file_path: mne-python/mne/io/eyelink/tests/test_eyelink.py
imports: from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose
  from mne._fiff.constants import FIFF
  from mne._fiff.pick import _DATA_CH_TYPES_SPLIT
  from mne.datasets.testing import data_path, requires_testing_data
  from mne.io import read_raw_eyelink
  from mne.io.eyelink._utils import _adjust_times, _find_overlaps
  from mne.io.tests.test_raw import _test_raw_reader
label_desc: Use image node_id 4 for calling a global function with example usage: test_fill_times(fname) without return types