code: def test_normalization_time():
      ut = 10
      tmin = 0
      tmax = 100
  
      int0 = integrate.quad(
          lambda t: qtdmri.qtdmri_temporal_normalization(ut) ** 2
          * qtdmri.temporal_basis(0, ut, t)
          * qtdmri.temporal_basis(0, ut, t),
          tmin,
          tmax,
      )[0]
      int1 = integrate.quad(
          lambda t: qtdmri.qtdmri_temporal_normalization(ut) ** 2
          * qtdmri.temporal_basis(1, ut, t)
          * qtdmri.temporal_basis(1, ut, t),
          tmin,
          tmax,
      )[0]
      int2 = integrate.quad(
          lambda t: qtdmri.qtdmri_temporal_normalization(ut) ** 2
          * qtdmri.temporal_basis(2, ut, t)
          * qtdmri.temporal_basis(2, ut, t),
          tmin,
          tmax,
      )[0]
  
      assert_almost_equal(int0, 1.0)
      assert_almost_equal(int1, 1.0)
      assert_almost_equal(int2, 1.0)
  
imports: import warnings
  import numpy
  import scipy.integrate
  from numpy.testing import assert_, assert_almost_equal, assert_array_almost_equal, assert_equal, assert_raises
  import pytest
  from dipy.core.gradients import gradient_table_from_qvals_bvecs
  from dipy.data import get_gtab_taiwan_dsi, get_sphere
  from dipy.reconst import qtdmri, mapmri
  from dipy.reconst.shm import descoteaux07_legacy_msg
  from dipy.sims.voxel import multi_tensor, add_noise
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 5 for calling a global function with example usage: test_normalization_time() without return types