code: def test_interactions_from_saltelli():
      """ """
      problem = {
          "bounds": np.repeat([-1, 1], 12).reshape(2, 12).T,
          "num_vars": 12,
          "names": ["x" + str(x + 1) for x in range(12)],
      }
  
      X = sample(problem)
  
      Y = np.array(
          [
              10,
              -2,
              4,
              -8,
              2,
              6,
              -4,
              0,
              2,
              6,
              -4,
              0,
              10,
              -2,
              4,
              -8,
              -2,
              -6,
              4,
              0,
              -10,
              2,
              -4,
              8,
              -10,
              2,
              -4,
              8,
              -2,
              -6,
              4,
              0,
          ]
      )
  
      Si = analyze(problem, X, Y, second_order=True)
      actual = Si["IE"]
      expected = [
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          4.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
      ]
  
      assert_equal(actual, expected)
  
file_path: SALib/tests/test_ff.py
imports: import numpy
  from numpy.testing import assert_equal, assert_allclose
  from SALib.sample.ff import sample, find_smallest, extend_bounds
  from SALib.analyze.ff import analyze, interactions
label_desc: Use image node_id 7 for calling a global function with example usage: test_interactions_from_saltelli() without return types