code: def test_tcmf_ndarray_covariates_dti(self):
      ndarray_input = {"id": self.id, "y": self.data}
      self.model.fit(
          ndarray_input,
          covariates=np.random.rand(3, self.seq_len),
          dti=pd.date_range("20130101", periods=self.seq_len),
          **self.fit_params,
      )
      future_covariates = np.random.randn(3, self.horizon)
      future_dti = pd.date_range("20130101", periods=self.horizon)
      # test predict
      yhat = self.model.predict(
          horizon=self.horizon,
          future_covariates=future_covariates,
          future_dti=future_dti,
      )
  
      # test save load
      with tempfile.TemporaryDirectory() as tempdirname:
          self.model.save(tempdirname)
          loaded_model = TCMFForecaster.load(
              tempdirname, is_xshards_distributed=False
          )
      yhat_loaded = loaded_model.predict(
          horizon=self.horizon,
          future_covariates=future_covariates,
          future_dti=future_dti,
      )
      yhat_id = yhat_loaded["id"]
      np.testing.assert_equal(yhat_id, self.id)
      yhat = yhat["prediction"]
      yhat_loaded = yhat_loaded["prediction"]
      assert yhat.shape == (self.num_samples, self.horizon)
      np.testing.assert_array_almost_equal(yhat, yhat_loaded, decimal=4)
      # test evaluate
      target_value = dict({"y": self.data_new})
      assert self.model.evaluate(
          target_value=target_value,
          target_covariates=future_covariates,
          target_dti=future_dti,
          metric=["mse"],
      )
      # test fit_incremental
      self.model.fit_incremental(
          {"y": self.data_new},
          covariates_incr=future_covariates,
          dti_incr=future_dti,
      )
      yhat_incr = self.model.predict(
          horizon=self.horizon,
          future_covariates=future_covariates,
          future_dti=future_dti,
      )
      yhat_incr = yhat_incr["prediction"]
      assert yhat_incr.shape == (self.num_samples, self.horizon)
      np.testing.assert_raises(
          AssertionError, np.testing.assert_array_equal, yhat, yhat_incr
      )
  
file_path: analytics-zoo/pyzoo/test/zoo/chronos/forecaster/test_tcmf_forecaster.py
imports: import pytest
  import numpy
  from zoo.chronos.forecaster.tcmf_forecaster import TCMFForecaster
  from unittest import TestCase
  import tempfile
  import pandas
label_desc: Use image node_id 3 for calling the TestChronosModelTCMFForecaster obj's underlying member method code with example usage: obj.test_tcmf_ndarray_covariates_dti() without return types