code: def test_canica_score(canica_data, mask_img):
      # Multi subjects
      n_components = 10
  
      canica = CanICA(
          n_components=n_components, mask=mask_img, random_state=0
      )
      canica.fit(canica_data)
  
      # One score for all components
      scores = canica.score(canica_data, per_component=False)
  
      assert scores <= 1
      assert 0 <= scores
  
      # Per component score
      scores = canica.score(canica_data, per_component=True)
  
      assert scores.shape, (n_components,)
      assert np.all(scores <= 1)
      assert np.all(scores >= 0)
  
imports: import numpy
  import pytest
  from nibabel import Nifti1Image
  from numpy.testing import assert_array_almost_equal
  from nilearn._utils.testing import write_imgs_to_path
  from nilearn.conftest import _affine_eye, _rng
  from nilearn.decomposition.canica import CanICA
  from nilearn.image import get_data, iter_img
  from nilearn.maskers import MultiNiftiMasker
label_desc: Use image node_id 17 for calling a global function with example usage: test_canica_score(canica_data, mask_img) without return types