code: def test_design_matrix_FIR_block(frame_times):
      # test FIR models on block designs
      bp = block_paradigm()
      X, _ = design_matrix_light(
          frame_times,
          bp,
          hrf_model="fir",
          drift_model=None,
          fir_delays=range(4),
      )
      idx = bp["onset"][bp["trial_type"] == 1].astype(int)
      assert X.shape == (len(frame_times), 13)
      assert (X[idx, 4] == 1).all()
      assert (X[idx + 1, 5] == 1).all()
      assert (X[idx + 2, 6] == 1).all()
      assert (X[idx + 3, 7] == 1).all()
  
imports: from os import path
  import numpy
  import pandas
  import pytest
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_array_equal
  from nilearn._utils.data_gen import basic_paradigm
  from nilearn.glm.first_level.design_matrix import _convolve_regressors, check_design_matrix, create_cosine_drift, make_first_level_design_matrix, make_second_level_design_matrix
  from ._testing import block_paradigm, design_with_negative_onsets, modulated_block_paradigm, modulated_event_paradigm, spm_paradigm
label_desc: Use image node_id 13 for calling a global function with example usage: test_design_matrix_FIR_block(frame_times) without return types