code: def test_gen_synthetic_data(self):
      with pytest.raises(RuntimeError):
          gen_synthetic_data(len="10000")
      with pytest.raises(RuntimeError):
          gen_synthetic_data(sine_amplitude="10")
      with pytest.raises(RuntimeError):
          gen_synthetic_data(angular_freq="0.01")
      with pytest.raises(RuntimeError):
          gen_synthetic_data(noise_amplitude="0.01")
      with pytest.raises(RuntimeError):
          gen_synthetic_data(noise_scale="1.0")
      with pytest.raises(RuntimeError):
          gen_synthetic_data(seed=0.01)
      with pytest.raises(RuntimeError):
          gen_synthetic_data(time_freq=1)
  
      tsdata = gen_synthetic_data()
      assert tsdata._id_list == ["0"]
      assert tsdata.target_col == ["target"]
      assert tsdata.dt_col == "datetime"
  
      tsdata = gen_synthetic_data(len=5000)
      assert len(tsdata.to_pandas()) == 5000
  
      tsdata_train, tsdata_val, tsdata_test = gen_synthetic_data(
          with_split=True, val_ratio=0.1, test_ratio=0.1
      )
      assert len(tsdata_train.to_pandas()) == 10000 * 0.8
      assert len(tsdata_val.to_pandas()) == 10000 * 0.1
      assert len(tsdata_test.to_pandas()) == 10000 * 0.1
  
file_path: BigDL/python/chronos/test/bigdl/chronos/data/test_repo_dataset.py
imports: import pytest
  import pandas
  import random
  from unittest import TestCase
  from bigdl.chronos.data import get_public_dataset, gen_synthetic_data
  from ..None import op_torch, op_tf2
label_desc: Use image node_id 4 for calling the TestRepoDataset obj's underlying member method code with example usage: obj.test_gen_synthetic_data() without return types