code: def test_save_all(self):
      mock_data = Data()
      mock_data.pos = torch.zeros((num_points * batch_size, 3))
      mock_data.y = torch.zeros((num_points * batch_size, 1))
      mock_data.pred = torch.zeros((num_points * batch_size, 1))
      mock_data.batch = torch.zeros((num_points * batch_size))
      mock_data.batch[:num_points] = 1
      data = {"mock_date": mock_data}
  
      self.run_path = os.path.join(DIR, "test_viz")
      if not os.path.exists(self.run_path):
          os.makedirs(self.run_path)
  
      epochs = 2
      num_samples = 100
      mock_num_batches = {"train": num_samples}
  
      config = OmegaConf.load(
          os.path.join(DIR, "test_config/viz/viz_config_save_all.yaml")
      )
      visualizer = Visualizer(
          config.visualization,
          mock_num_batches,
          batch_size,
          self.run_path,
          None,
      )
  
      for epoch in range(epochs):
          run(
              num_samples // batch_size,
              visualizer,
              epoch,
              "train",
              data,
          )
  
      for split in ["train"]:
          for epoch in range(epochs):
              for format in ["ply", "las"]:
                  files = set(
                      os.listdir(
                          os.path.join(
                              self.run_path,
                              "viz",
                              str(epoch),
                              split,
                              format,
                          )
                      )
                  )
                  self.assertGreaterEqual(len(files), num_samples)
      shutil.rmtree(self.run_path)
  
file_path: torch-points3d/test/test_visualization.py
imports: import unittest
  import os
  import shutil
  import sys
  from omegaconf import OmegaConf
  import torch
  from torch_geometric.data import Data
  from torch_points3d.visualization import Visualizer
label_desc: Use image node_id 3 for calling the TestVisualizer obj's underlying member method code with example usage: obj.test_save_all() without return types