code: def test_train_eval_test():
      log.info("testing: Train Eval Test")
      m = NeuralProphet(
          n_lags=10,
          n_forecasts=3,
          ar_reg=0.1,
          epochs=EPOCHS,
          batch_size=BATCH_SIZE,
          learning_rate=LR,
      )
      df = pd.read_csv(PEYTON_FILE, nrows=95)
      df, _, _ = df_utils.check_dataframe(df, check_y=False)
      _handle_missing_data(
          df=df,
          freq="D",
          n_lags=m.n_lags,
          n_forecasts=m.n_forecasts,
          config_missing=m.config_missing,
          config_regressors=m.config_regressors,
          config_lagged_regressors=m.config_lagged_regressors,
          config_events=m.config_events,
          config_seasonality=m.config_seasonality,
          predicting=False,
      )
      df_train, df_test = m.split_df(df, freq="D", valid_p=0.1)
      metrics = m.fit(df_train, freq="D", validation_df=df_test)
      val_metrics = m.test(df_test)
      log.debug(
          "Metrics: train/eval: \n {}".format(
              metrics.to_string(
                  float_format=lambda x: "{:6.3f}".format(x)
              )
          )
      )
      log.debug(
          "Metrics: test: \n {}".format(
              val_metrics.to_string(
                  float_format=lambda x: "{:6.3f}".format(x)
              )
          )
      )
  
imports: import logging
  import math
  import os
  import pathlib
  import matplotlib.pyplot
  import numpy
  import pandas
  import pytest
  import torch
  from neuralprophet import NeuralProphet, df_utils, set_random_seed
  from neuralprophet.data.process import _handle_missing_data, _validate_column_name
label_desc: Use image node_id 2 for calling a global function with example usage: test_train_eval_test() without return types