code: def test_program_init_depth():
      """Check 'full' creates constant depth programs for single depth limit"""
  
      params = {
          "function_set": [
              add2,
              sub2,
              mul2,
              div2,
              sqrt1,
              log1,
              abs1,
              max2,
              min2,
          ],
          "arities": {
              1: [sqrt1, log1, abs1],
              2: [add2, sub2, mul2, div2, max2, min2],
          },
          "init_depth": (6, 6),
          "n_features": 10,
          "const_range": (-1.0, 1.0),
          "metric": "mean absolute error",
          "p_point_replace": 0.05,
          "parsimony_coefficient": 0.1,
      }
      random_state = check_random_state(415)
      programs = []
      for _ in range(20):
          programs.append(
              _Program(
                  init_method="full",
                  random_state=random_state,
                  **params,
              )
          )
      full_depth = np.bincount([gp.depth_ for gp in programs])
      programs = []
      for _ in range(20):
          programs.append(
              _Program(
                  init_method="half and half",
                  random_state=random_state,
                  **params,
              )
          )
      hnh_depth = np.bincount([gp.depth_ for gp in programs])
      programs = []
      for _ in range(20):
          programs.append(
              _Program(
                  init_method="grow",
                  random_state=random_state,
                  **params,
              )
          )
      grow_depth = np.bincount([gp.depth_ for gp in programs])
  
      assert full_depth[-1] == 20
      assert hnh_depth[-1] != 20
      assert grow_depth[-1] != 20
  
imports: import pickle
  import pytest
  import sys
  from io import StringIO
  import numpy
  from scipy.stats import pearsonr, spearmanr
  from sklearn.datasets import load_diabetes, load_breast_cancer
  from sklearn.metrics import mean_absolute_error
  from sklearn.model_selection import GridSearchCV
  from sklearn.pipeline import make_pipeline
  from sklearn.preprocessing import StandardScaler
  from sklearn.tree import DecisionTreeRegressor
  from sklearn.utils._testing import assert_almost_equal
  from sklearn.utils._testing import assert_array_equal
  from sklearn.utils._testing import assert_array_almost_equal
  from sklearn.utils._testing import assert_raises
  from sklearn.utils.validation import check_random_state
  from gplearn.genetic import SymbolicClassifier, SymbolicRegressor
  from gplearn.genetic import SymbolicTransformer
  from gplearn.fitness import weighted_pearson, weighted_spearman
  from gplearn._program import _Program
  from gplearn.fitness import _fitness_map
  from gplearn.functions import add2, sub2, mul2, div2, sqrt1, log1, abs1, max2, min2
  from gplearn.functions import _Function
label_desc: Use image node_id 3 for calling a global function with example usage: test_program_init_depth() without return types