code: def test_permutation_t_test():
      """Test T-test based on permutations."""
      # 1 sample t-test
      np.random.seed(10)
      n_samples, n_tests = 30, 5
      X = np.random.randn(n_samples, n_tests)
      X[:, :2] += 1
  
      t_obs, p_values, H0 = permutation_t_test(
          X, n_permutations=999, tail=0, seed=0
      )
      assert (p_values > 0).all()
      assert len(H0) == 999
      is_significant = p_values < 0.05
      assert_array_equal(
          is_significant, [True, True, False, False, False]
      )
  
      t_obs, p_values, H0 = permutation_t_test(
          X, n_permutations=999, tail=1, seed=0
      )
      assert (p_values > 0).all()
      assert len(H0) == 999
      is_significant = p_values < 0.05
      assert_array_equal(
          is_significant, [True, True, False, False, False]
      )
  
      t_obs, p_values, H0 = permutation_t_test(
          X, n_permutations=999, tail=-1, seed=0
      )
      is_significant = p_values < 0.05
      assert_array_equal(
          is_significant, [False, False, False, False, False]
      )
  
      X *= -1
      t_obs, p_values, H0 = permutation_t_test(
          X, n_permutations=999, tail=-1, seed=0
      )
      assert (p_values > 0).all()
      assert len(H0) == 999
      is_significant = p_values < 0.05
      assert_array_equal(
          is_significant, [True, True, False, False, False]
      )
  
      # check equivalence with spatio_temporal_cluster_test
      for adjacency in (sparse.eye(n_tests), False):
          (
              t_obs_clust,
              _,
              p_values_clust,
              _,
          ) = permutation_cluster_1samp_test(
              X,
              n_permutations=999,
              seed=0,
              adjacency=adjacency,
              out_type="mask",
          )
          # the cluster tests drop any clusters that don't get thresholded
          keep = p_values < 1
          assert_allclose(t_obs_clust, t_obs)
          assert_allclose(p_values_clust, p_values[keep], atol=1e-2)
  
file_path: mne-python/mne/stats/tests/test_permutations.py
imports: import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy import sparse, stats
  from mne.stats import permutation_cluster_1samp_test
  from mne.stats.permutations import _ci, bootstrap_confidence_interval, permutation_t_test
label_desc: Use image node_id 1 for calling a global function with example usage: test_permutation_t_test() without return types