code: def test_future_df_with_nan():
      # Check whether an Error is thrown if df contains NaN at the end, before it is expanded to the future
      # if there are more consecutive NaN values at the end of df than n_lags: ValueError.
      m = NeuralProphet(
          epochs=EPOCHS,
          batch_size=BATCH_SIZE,
          learning_rate=LR,
          n_lags=12,
          n_forecasts=10,
      )
      length = 100
      y = np.random.randint(0, 100, size=length)
      days = pd.date_range(start="2017-01-01", periods=length)
      df = pd.DataFrame({"ds": days, "y": y})
      # introduce 15 NaN values at the end of df. Now #NaN at end > n_lags
      df.iloc[-15:, 1] = np.nan
      m.fit(df, freq="D")
      with pytest.raises(ValueError):
          m.make_future_dataframe(
              df, periods=10, n_historic_predictions=5
          )
  
imports: import logging
  import os
  import pathlib
  import matplotlib.pyplot
  import numpy
  import pandas
  import pytest
  from torch.utils.data import DataLoader
  from neuralprophet import NeuralProphet, configure, df_utils, time_dataset
  from neuralprophet.data.process import _create_dataset, _handle_missing_data
  from neuralprophet.data.transform import _normalize
label_desc: Use image node_id 18 for calling a global function with example usage: test_future_df_with_nan() without return types