code: def test_mate_operator_stats_update():
      """Assert that self._mate_operator updates stats as expected."""
      tpot_obj = TPOTClassifier()
      tpot_obj._fit_init()
      ind1 = creator.Individual.from_string(
          "KNeighborsClassifier("
          "BernoulliNB(input_matrix, BernoulliNB__alpha=10.0, BernoulliNB__fit_prior=False),"
          "KNeighborsClassifier__n_neighbors=10, "
          "KNeighborsClassifier__p=1, "
          "KNeighborsClassifier__weights=uniform"
          ")",
          tpot_obj._pset,
      )
      ind2 = creator.Individual.from_string(
          "KNeighborsClassifier("
          "BernoulliNB(input_matrix, BernoulliNB__alpha=10.0, BernoulliNB__fit_prior=True),"
          "KNeighborsClassifier__n_neighbors=10, "
          "KNeighborsClassifier__p=2, "
          "KNeighborsClassifier__weights=uniform"
          ")",
          tpot_obj._pset,
      )
  
      initialize_stats_dict(ind1)
      initialize_stats_dict(ind2)
  
      # Randomly mutate the statistics
      ind1.statistics["crossover_count"] = random.randint(0, 10)
      ind1.statistics["mutation_count"] = random.randint(0, 10)
      ind2.statistics["crossover_count"] = random.randint(0, 10)
      ind2.statistics["mutation_count"] = random.randint(0, 10)
  
      # set as evaluated pipelines in tpot_obj.evaluated_individuals_
      tpot_obj.evaluated_individuals_[
          str(ind1)
      ] = tpot_obj._combine_individual_stats(2, 0.99, ind1.statistics)
      tpot_obj.evaluated_individuals_[
          str(ind2)
      ] = tpot_obj._combine_individual_stats(2, 0.99, ind2.statistics)
  
      # Doing 10 tests
      for _ in range(10):
          offspring1, _ = tpot_obj._mate_operator(ind1, ind2)
  
          assert (
              offspring1.statistics["crossover_count"]
              == ind1.statistics["crossover_count"]
              + ind2.statistics["crossover_count"]
              + 1
          )
          assert (
              offspring1.statistics["mutation_count"]
              == ind1.statistics["mutation_count"]
              + ind2.statistics["mutation_count"]
          )
          assert offspring1.statistics["predecessor"] == (
              str(ind1),
              str(ind2),
          )
  
          # Offspring replaces on of the two predecessors
          # Don't need to worry about cloning
          if random.random() < 0.5:
              ind1 = offspring1
          else:
              ind2 = offspring1
  
imports: from tpot import TPOTClassifier
  from tpot.gp_deap import initialize_stats_dict
  from deap import creator
  import random
label_desc: Use image node_id 2 for calling a global function with example usage: test_mate_operator_stats_update() without return types