code: def test_tsdataset_initialization(self):
      df = get_ts_df()
  
      # legal input
      tsdata = TSDataset.from_pandas(
          df,
          dt_col="datetime",
          target_col="value",
          extra_feature_col=["extra feature"],
          id_col="id",
      )
      assert tsdata._id_list == ["00"]
      assert tsdata.feature_col == ["extra feature"]
      assert tsdata.target_col == ["value"]
      assert tsdata.dt_col == "datetime"
      assert tsdata._is_pd_datetime
  
      tsdata = TSDataset.from_pandas(
          df,
          dt_col="datetime",
          target_col=["value"],
          extra_feature_col="extra feature",
          id_col="id",
      )
      assert tsdata._id_list == ["00"]
      assert tsdata.feature_col == ["extra feature"]
      assert tsdata.target_col == ["value"]
      assert tsdata.dt_col == "datetime"
      assert tsdata._is_pd_datetime
  
      tsdata = TSDataset.from_pandas(
          df.drop(columns=["id"]),
          dt_col="datetime",
          target_col=["value"],
          extra_feature_col="extra feature",
      )
      assert tsdata._id_list == ["0"]
      assert tsdata.feature_col == ["extra feature"]
      assert tsdata.target_col == ["value"]
      assert tsdata.dt_col == "datetime"
      assert tsdata._is_pd_datetime
  
      # illegal input
      with pytest.raises(AssertionError):
          tsdata = TSDataset.from_pandas(
              df,
              dt_col="datetime",
              target_col=["value"],
              extra_feature_col="extra feature",
              id_col=0,
          )
      with pytest.raises(AssertionError):
          tsdata = TSDataset.from_pandas(
              df,
              dt_col=0,
              target_col=["value"],
              extra_feature_col="extra feature",
              id_col="id",
          )
      with pytest.raises(AssertionError):
          tsdata = TSDataset.from_pandas(
              df,
              dt_col="datetime",
              target_col=0,
              extra_feature_col="extra feature",
              id_col="id",
          )
      with pytest.raises(AssertionError):
          tsdata = TSDataset.from_pandas(
              0,
              dt_col="datetime",
              target_col=["value"],
              extra_feature_col="extra feature",
              id_col="id",
          )
      with pytest.raises(AssertionError):
          tsdata = TSDataset.from_pandas(
              df,
              dt_col="datetime",
              target_col=["value1"],
              extra_feature_col="extra feature",
              id_col="id",
          )
  
imports: import pytest
  import numpy
  import pandas
  import random
  import tempfile
  import os
  import shutil
  from test.zoo.pipeline.utils.test_utils import ZooTestCase
  from zoo.chronos.data import TSDataset
  from pandas.testing import assert_frame_equal
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 3 for calling the TestTSDataset obj's underlying member method code with example usage: obj.test_tsdataset_initialization() without return types