code: def test_interactions():
      """ """
      problem = {
          "bounds": [[0.0, 2.5], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0]],
          "num_vars": 4,
          "names": ["x1", "x2", "x3", "x4"],
      }
      X = np.array(
          [
              [2.5, 1.0, 1.0, 1.0],
              [2.5, 0, 1.0, 0],
              [2.5, 1.0, 0, 0],
              [2.5, 0, 0, 1.0],
              [0, 0, 0, 0],
              [0, 1.0, 0, 1.0],
              [0, 0, 1.0, 1.0],
              [0, 1.0, 1.0, 0],
          ],
          dtype=float,
      )
      Y = (
          X[:, 0]
          + (0.1 * X[:, 1])
          + ((1.2 * X[:, 2]) * (1.3 + X[:, 3]))
      )
      ie_names, ie = interactions(problem, Y)
  
      actual = ie
      assert_allclose(
          actual, [0.3, 0, 0, 0, 0, 0.3], rtol=1e-4, atol=1e-4
      )
  
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 8 for calling a global function with example usage: test_interactions() without return types