code: def test_tcmf(self):
      self.model.fit_eval(data=(self.Ymat, None), **self.config)
      # test predict
      result = self.model.predict(horizon=self.horizon)
      assert result.shape[1] == self.horizon
      # test evaluate
      target = np.random.rand(self.num_samples, self.horizon)
      evaluate_result = self.model.evaluate(
          y=target, metrics=["mae", "smape"]
      )
      assert len(evaluate_result) == 2
      assert len(evaluate_result[0]) == self.horizon
      assert len(evaluate_result[1]) == self.horizon
      # test fit_incremental
      Ymat_before = self.model.model.Ymat
      self.model.fit_incremental(target)
      Ymat_after = self.model.model.Ymat
      assert Ymat_after.shape[1] - Ymat_before.shape[1] == self.horizon
      incr_result = self.model.predict(horizon=self.horizon)
      np.testing.assert_raises(
          AssertionError,
          np.testing.assert_array_equal,
          result,
          incr_result,
      )
  
file_path: analytics-zoo/pyzoo/test/zoo/chronos/model/test_TCMF.py
imports: import pytest
  from test.zoo.pipeline.utils.test_utils import ZooTestCase
  from zoo.chronos.model.tcmf_model import TCMF
  import numpy
  import os
  from numpy.testing import assert_array_almost_equal
  import pandas
label_desc: Use image node_id 3 for calling the TestTCMF obj's underlying member method code with example usage: obj.test_tcmf() without return types