code: def test_ctsplitter_no_train_last_point(point_process_dataset):
      splitter = transform.ContinuousTimeInstanceSplitter(
          past_interval_length=2,
          future_interval_length=1,
          instance_sampler=transform.ContinuousTimePredictionSampler(
              allow_empty_interval=False,
              min_past=2,
          ),
          freq=to_offset("H"),
      )
  
      iter_de = splitter(point_process_dataset, is_train=False)
  
      d_out = next(iter(iter_de))
  
      assert "future_target" not in d_out
      assert "future_valid_length" not in d_out
      assert "past_target" in d_out
      assert "past_valid_length" in d_out
  
      assert d_out["past_valid_length"] == 6
      assert np.allclose(
          [0.1, 0.5, 0.3, 0.3, 0.2, 0.1],
          d_out["past_target"][..., 0],
          atol=0.01,
      )
  
imports: from typing import Tuple, List
  import numpy
  import pandas
  from pandas.tseries.frequencies import to_offset
  import pytest
  import gluonts
  from gluonts import time_feature, transform
  from gluonts.core import fqname_for
  from gluonts.core.serde import dump_json, load_json
  from gluonts.dataset.common import DataEntry, ListDataset
  from gluonts.dataset.field_names import FieldName
  from gluonts.dataset.stat import ScaleHistogram, calculate_dataset_statistics
  from gluonts.transform import CausalMeanValueImputation, DummyValueImputation, LastValueImputation, MeanValueImputation, RollingMeanValueImputation, Valmap
  from gluonts.transform.convert import ToIntervalSizeFormat, erf, erfinv
  from gluonts.transform.feature import CountTrailingZeros
label_desc: Use image node_id 18 for calling a global function with example usage: test_ctsplitter_no_train_last_point(point_process_dataset) without return types