code: def test_train_end_date_without_regressors():
      """Tests make_future_dataframe and train_end_date without regressors"""
      ts = UnivariateTimeSeries()
      df = pd.DataFrame(
          {
              TIME_COL: [
                  dt(2018, 1, 1, 3, 0, 0),
                  dt(2018, 1, 1, 4, 0, 0),
                  dt(2018, 1, 1, 5, 0, 0),
                  dt(2018, 1, 1, 6, 0, 0),
                  dt(2018, 1, 1, 7, 0, 0),
              ],
              VALUE_COL: [1, None, 3, None, None],
          }
      )
  
      # train_end_date later than last date in df
      with pytest.warns(UserWarning) as record:
          for train_end_date in ["2018/1/1/7"]:
              date_format = "%Y/%m/%d/%H"
              ts.load_data(
                  df,
                  TIME_COL,
                  VALUE_COL,
                  train_end_date=train_end_date,
                  date_format=date_format,
              )
              assert (
                  f"{VALUE_COL} column of the provided time series contains trailing NAs."
                  in record[0].message.args[0]
              )
              assert ts.train_end_date == dt(2018, 1, 1, 7, 0, 0)
              result = ts.make_future_dataframe(
                  periods=10, include_history=True
              )
              expected = pd.DataFrame(
                  {
                      TIME_COL: pd.date_range(
                          start=dt(2018, 1, 1, 3, 0, 0),
                          periods=15,
                          freq="H",
                      ),
                      VALUE_COL: np.concatenate(
                          (ts.fit_y, np.repeat(np.nan, 10))
                      ),
                  }
              )
              expected.index = expected[TIME_COL]
              expected.index.name = None
              assert_frame_equal(result, expected)
  
imports: import datetime
  from datetime import datetime
  import numpy
  import pandas
  import pytest
  from pandas.testing import assert_frame_equal
  from greykite.common.constants import ADJUSTMENT_DELTA_COL
  from greykite.common.constants import END_TIME_COL
  from greykite.common.constants import METRIC_COL
  from greykite.common.constants import START_TIME_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.common.time_properties import get_canonical_data
  from greykite.common.viz.timeseries_plotting import add_groupby_column
  from greykite.framework.benchmark.data_loader_ts import DataLoaderTS
  from greykite.framework.constants import MEAN_COL_GROUP
  from greykite.framework.constants import OVERLAY_COL_GROUP
  from greykite.framework.constants import QUANTILE_COL_GROUP
  from greykite.framework.input.univariate_time_series import UnivariateTimeSeries
label_desc: Use image node_id 9 for calling a global function with example usage: test_train_end_date_without_regressors() without return types