code: def test_split(self):
      clouds = self.init_cloud(5, 100, 10)
      split_sizes = [2, 3]
      split_clouds = clouds.split(split_sizes)
      self.assertEqual(len(split_clouds[0]), 2)
      self.assertTrue(
          split_clouds[0].points_list()
          == [clouds.get_cloud(0)[0], clouds.get_cloud(1)[0]]
      )
      self.assertEqual(len(split_clouds[1]), 3)
      self.assertTrue(
          split_clouds[1].points_list()
          == [
              clouds.get_cloud(2)[0],
              clouds.get_cloud(3)[0],
              clouds.get_cloud(4)[0],
          ]
      )
  
      split_sizes = [2, 0.3]
      with self.assertRaises(ValueError):
          clouds.split(split_sizes)
  
imports: import itertools
  import random
  import unittest
  import numpy
  import torch
  from pytorch3d.structures import utils
  from pytorch3d.structures.pointclouds import join_pointclouds_as_batch, join_pointclouds_as_scene, Pointclouds
  from .common_testing import TestCaseMixin
label_desc: Use image node_id 20 for calling the TestPointclouds obj's underlying member method code with example usage: obj.test_split() without return types