code: def test_basic(self):
      dataset = TupleDataset(
          self.dataset,
          ("item3", np.arange(len(self.dataset))),
          np.arange(len(self.dataset)) * 2,
      )
      self.assertIsInstance(dataset, SliceableDataset)
      self.assertEqual(len(dataset), len(self.dataset))
      self.assertEqual(
          dataset.keys, ("item0", "item1", "item2", "item3", None)
      )
      self.assertEqual(
          dataset[1], ("item0(1)", "item1(1)", "item2(1)", 1, 2)
      )
  
file_path: chainercv/tests/chainer_experimental_tests/datasets_tests/sliceable_tests/test_tuple_dataset.py
imports: import numpy
  import unittest
  from chainer import testing
  from chainercv.chainer_experimental.datasets.sliceable import SliceableDataset
  from chainercv.chainer_experimental.datasets.sliceable import TupleDataset
label_desc: Use image node_id 2 for calling the TestTupleDataset obj's underlying member method code with example usage: obj.test_basic() without return types