code: def test_temporal_data():
      data = get_temporal_data(num_events=3, msg_channels=16)
      assert str(data) == (
          "TemporalData(src=[3], dst=[3], t=[3], " "msg=[3, 16], y=[3])"
      )
  
      assert data.num_nodes == 6
      assert data.num_events == data.num_edges == len(data) == 3
  
      assert data.src.tolist() == [0, 1, 2]
      assert data["src"].tolist() == [0, 1, 2]
  
      assert data.edge_index.tolist() == [[0, 1, 2], [3, 4, 5]]
      data.edge_index = "edge_index"
      assert data.edge_index == "edge_index"
      del data.edge_index
      assert data.edge_index.tolist() == [[0, 1, 2], [3, 4, 5]]
  
      assert sorted(data.keys()) == ["dst", "msg", "src", "t", "y"]
      assert sorted(data.to_dict().keys()) == sorted(data.keys())
  
      data_tuple = data.to_namedtuple()
      assert len(data_tuple) == 5
      assert data_tuple.src is not None
      assert data_tuple.dst is not None
      assert data_tuple.t is not None
      assert data_tuple.msg is not None
      assert data_tuple.y is not None
  
      assert data.__cat_dim__("src", data.src) == 0
      assert data.__inc__("src", data.src) == 6
  
      clone = data.clone()
      assert clone != data
      assert len(clone) == len(data)
      assert clone.src.data_ptr() != data.src.data_ptr()
      assert clone.src.tolist() == data.src.tolist()
      assert clone.dst.data_ptr() != data.dst.data_ptr()
      assert clone.dst.tolist() == data.dst.tolist()
  
      deepcopy = copy.deepcopy(data)
      assert deepcopy != data
      assert len(deepcopy) == len(data)
      assert deepcopy.src.data_ptr() != data.src.data_ptr()
      assert deepcopy.src.tolist() == data.src.tolist()
      assert deepcopy.dst.data_ptr() != data.dst.data_ptr()
      assert deepcopy.dst.tolist() == data.dst.tolist()
  
      key = value = "test_value"
      data[key] = value
      assert data[key] == value
      assert data.test_value == value
      del data[key]
      del data[key]  # Deleting unset attributes should work as well.
  
      assert data.get(key, 10) == 10
  
      assert len([event for event in data]) == 3
  
      assert len([attr for attr in data()]) == 5
  
      assert data.size() == (2, 5)
  
      del data.src
      assert "src" not in data
  
imports: import copy
  import torch
  from torch_geometric.data import TemporalData
label_desc: Use image node_id 2 for calling a global function with example usage: test_temporal_data() without return types