code: def test_design_matrix_basic_paradigm_and_extra_regressors(
      rng, frame_times
  ):
      # basic test based on basic_paradigm, plus user supplied regressors
      ax = rng.standard_normal(size=(len(frame_times), 4))
      X, names = design_matrix_light(
          frame_times,
          events=basic_paradigm(),
          hrf_model="glover",
          drift_model="polynomial",
          drift_order=3,
          add_regs=ax,
      )
      assert len(names) == 11
      assert X.shape[1] == 11
      # Check that additional regressors are put at the right place
      assert_almost_equal(X[:, 3:7], ax)
  
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 11 for calling a global function with example usage: test_design_matrix_basic_paradigm_and_extra_regressors(rng, frame_times) without return types