code: def test_fit_transform_input_datetime(self):
      # if the type of input datetime is not datetime64, raise an error
      dates = pd.date_range("1/1/2019", periods=8)
      values = np.random.randn(8)
      df = pd.DataFrame(
          {"datetime": dates.strftime("%m/%d/%Y"), "values": values}
      )
      config = {
          "selected_features": json.dumps(
              [
                  "IS_AWAKE(datetime)",
                  "IS_BUSY_HOURS(datetime)",
                  "HOUR(datetime)",
              ]
          ),
          "past_seq_len": 2,
      }
      feat = TimeSequenceFeatureTransformer(
          future_seq_len=1,
          dt_col="datetime",
          target_col="values",
          drop_missing=True,
      )
  
      with pytest.raises(ValueError) as excinfo:
          feat.fit_transform(df, **config)
      assert "np.datetime64" in str(excinfo.value)
  
      # if there is NaT in datetime, raise an error
      df.loc[1, "datetime"] = None
      with pytest.raises(ValueError, match=r".* datetime .*"):
          feat.fit_transform(df, **config)
  
imports: import pytest
  from test.zoo.pipeline.utils.test_utils import ZooTestCase
  from zoo.chronos.autots.deprecated.feature.utils import save, restore
  from zoo.chronos.autots.deprecated.feature.time_sequence import *
  from numpy.testing import assert_array_almost_equal
  import json
  import tempfile
  import shutil
  from zoo.chronos.autots.deprecated.preprocessing.utils import train_val_test_split
label_desc: Use image node_id 6 for calling the TestTimeSequenceFeature obj's underlying member method code with example usage: obj.test_fit_transform_input_datetime() without return types