code: def test_clone_to(self) -> None:
      # cloned trial attached to the same experiment
      new_trial = self.trial.clone_to()
      self.assertIs(new_trial.experiment, self.trial.experiment)
      # Test equality of all attributes except index, time_created, and experiment.
      for k, v in new_trial.__dict__.items():
          if k in ["_index", "_time_created", "_experiment"]:
              continue
          self.assertEqual(v, self.trial.__dict__[k])
  
      # cloned trial attached to a new experiment
      new_experiment = get_experiment()
      new_trial = self.trial.clone_to(new_experiment)
      self.assertEqual(new_trial, self.trial)
  
      # make sure updating cloned trial doesn't affect original one
      new_trial._status = TrialStatus.COMPLETED
      self.assertTrue(new_trial.status.is_completed)
      self.assertFalse(self.trial.status.is_completed)
  
imports: import itertools
  from copy import deepcopy
  from unittest import mock
  from unittest.mock import Mock, patch
  import pandas
  from ax.core.base_trial import BaseTrial, TrialStatus
  from ax.core.data import Data
  from ax.core.generator_run import GeneratorRun, GeneratorRunType
  from ax.core.runner import Runner
  from ax.exceptions.core import UserInputError
  from ax.runners.synthetic import SyntheticRunner
  from ax.utils.common.result import Ok
  from ax.utils.common.testutils import TestCase
  from ax.utils.testing.core_stubs import get_arms, get_branin_arms, get_experiment, get_objective, get_test_map_data_experiment
label_desc: Use image node_id 18 for calling the TrialTest obj's underlying member method code with example usage: obj.test_clone_to() without return types