code: def test_failure_trial_to_json(self):
      trial_split = (
          self._given_failed_trial_split_that_continues_on_error(
              self.trial
          )
      )
  
      trial_json = json.loads(to_json(self.trial._dataclass))
  
      # assert trial_json['error'] == str(trial_split.error)
      # assert trial_json['error_traceback'] == EXPECTED_ERROR_TRACEBACK
      assert self._then_failed_validation_split_json_is_valid(
          trial_json["validation_splits"][-1], trial_split
      )
  
      created_time = datetime.datetime.strptime(
          trial_json["created_time"], LOGGING_DATETIME_STR_FORMAT
      )
      end_time = datetime.datetime.strptime(
          trial_json["end_time"], LOGGING_DATETIME_STR_FORMAT
      )
  
      assert created_time < end_time
  
imports: import copy
  import datetime
  import json
  from neuraxle.base import TrialStatus
  from neuraxle.hyperparams.space import HyperparameterSamples
  from neuraxle.logging.logging import LOGGING_DATETIME_STR_FORMAT
  from neuraxle.metaopt.context import AutoMLContext
  from neuraxle.metaopt.data.aggregates import MetricResults, Round, Trial, TrialSplit
  from neuraxle.metaopt.data.vanilla import ClientDataclass, MetricResultsDataclass, RoundDataclass, ScopedLocation, TrialDataclass, to_json
  from testing_neuraxle.metaopt.test_automl_dataclasses import SOME_FULL_SCOPED_LOCATION, SOME_ROOT_DATACLASS, SOME_TRIAL_DATACLASS
label_desc: Use image node_id 15 for calling the TestTrials obj's underlying member method code with example usage: obj.test_failure_trial_to_json() without return types