code: def test_load_complex_file(self):
      for lazy_load in [False, True]:
          for complex_filename in DATA["complex_filenames"]:
              tfile = nib.streamlines.load(
                  complex_filename, lazy_load=lazy_load
              )
              assert isinstance(tfile, TractogramFile)
  
              if lazy_load:
                  assert type(tfile.tractogram), Tractogram
              else:
                  assert type(tfile.tractogram), LazyTractogram
  
              tractogram = Tractogram(
                  DATA["streamlines"], affine_to_rasmm=np.eye(4)
              )
  
              if tfile.SUPPORTS_DATA_PER_POINT:
                  tractogram.data_per_point = DATA["data_per_point"]
  
              if tfile.SUPPORTS_DATA_PER_STREAMLINE:
                  data = DATA["data_per_streamline"]
                  tractogram.data_per_streamline = data
  
              with pytest.warns(
                  Warning
              ) if lazy_load else error_warnings():
                  assert_tractogram_equal(tfile.tractogram, tractogram)
  
imports: import os
  import tempfile
  import unittest
  import warnings
  from io import BytesIO
  from os.path import join
  import numpy
  import pytest
  from numpy.compat.py3k import asbytes
  import nibabel
  from nibabel.testing import clear_and_catch_warnings, data_path, error_warnings
  from nibabel.tmpdirs import InTemporaryDirectory
  from ..None import FORMATS, trk
  from ..tractogram import LazyTractogram, Tractogram
  from ..tractogram_file import ExtensionWarning, TractogramFile
  from .test_tractogram import assert_tractogram_equal
label_desc: Use image node_id 3 for calling the TestLoadSave obj's underlying member method code with example usage: obj.test_load_complex_file() without return types